twisted-使用json传输数据

twisted-使用json传输数据,json,python-2.7,twisted,Json,Python 2.7,Twisted,我需要在客户机和服务器之间传输数据(对象),Twisted似乎是实现这一点的好方法。我已经做了很多搜索,但仍然没有找到任何例子来理解基本原理。因此,任何简单的代码都会有所帮助 谢谢 编辑 客户端和服务器都是用python编写的 数据可能很大,所以我需要一个快速、可靠的传输(我已经看过了,好吗?) Flask很棒,但我使用的是另一个框架,所以整个网络都依赖于Twisted 很难说你的问题更多的是关于json、python还是twisted,但这里有一个概述,一旦知道了细节,就可以了解更多。或许您

我需要在客户机和服务器之间传输数据(对象),Twisted似乎是实现这一点的好方法。我已经做了很多搜索,但仍然没有找到任何例子来理解基本原理。因此,任何简单的代码都会有所帮助

谢谢

编辑

  • 客户端和服务器都是用python编写的
  • 数据可能很大,所以我需要一个快速、可靠的传输(我已经看过了,好吗?)
  • Flask很棒,但我使用的是另一个框架,所以整个网络都依赖于Twisted

很难说你的问题更多的是关于json、python还是twisted,但这里有一个概述,一旦知道了细节,就可以了解更多。或许您可以在问题中添加更多信息,以便我们提供更多帮助:-)

re-Json:Json只是一个定义了结构的字符串。如果您使用python,并且有一个对象要作为json发送,那么您需要使用将该对象转换为json字符串

import json
json.dumps(objectName)
如果您的客户端是javascript,那么您可以使用json.stringify(objectname)而不是json.dumps

如果您打算为客户机使用javascript,那么像jQuery这样的一些框架会使它变得非常简单

Pythons json.dumps有很多可选参数,其中大部分您不需要。您可以在以下位置查看选项:

Python就是Python,我假设您知道如何创建和填充对象。您的客户机是python还是javascript或其他什么?从javascript客户端到python服务器,您最有可能使用Ajax发送请求和获取响应

Twisted允许您轻松创建一个服务器,该服务器将侦听给定端口,当数据到达时,将发生一个事件来提供接收到的数据。然后,您可以对数据执行任何需要的操作。在执行诸如数据库插入之类的阻塞操作时要小心,因为如果您中断了服务器的事件循环,服务器可能会丢失一些数据或行为异常。Twisted最初可能很难学习,但它是一个非常强大和可靠的系统,已经得到了很好的验证。一个可供选择的方案,特别是如果你的客户不是Python的话,就是No.js。在我看来,node一开始更容易掌握,并且有数千个附加模块,可以让你做任何你想做的事情。我使用twisted和node来处理不同的事情

node.js和twisted都不是可以用来快速启动服务器或客户端的软件,无需进行一些研究和实验。要正确自信地使用Twisted或Node.js,利用它们的所有特性和优点,需要您进行一些研究和工作


有这样的优秀框架可用于构建一个服务器,该服务器可以对来自客户机的多个不同Ajax调用作出反应—您可以让一台服务器能够响应多种不同类型的请求,而不是让每种Ajax类型都有一台服务器。

这是一个小型库,它可以序列化对象及其所有属性将子对象转换为JSON,并将其解析回完全工作的对象:


twistd-nWeb
是使用Twisted启动服务器的一种非常快速的方法。:)“快速”传输与什么相比?您什么时候需要慢速传输?“可靠”与什么相比?你是说TCP意义上的“有序”是指“可靠”吗?很难说我需要与之相比,但当我说“快速”时,我的意思是延迟是可以接受的(因此它应该是CPU效率高的,没有太多开销)。是的,“可靠”指的是TCP(预期无数据包丢失),谁能接受?为了什么?工业机械控制?在这种情况下,我担心Python是不合适的,您将需要一种硬实时语言,而且JSON也不是一个好的选择,因为您无法在固定的周期计数中解码它。我并不是故意刁难你——我的观点是,如果没有更多关于你想要达到的目标的解释,这些限定词比没有意义更糟糕。当然,没有人会仅仅为了慢而提出慢的解决方案。好吧,你可以忘记“快”的要求(当然还有实时性),你有没有使用twisted传输json字符串的例子?传输json字符串与使用twisted传输任何其他类型的字符串没有什么不同
json.dumps
/
json.loads
将非常直接地将对象转换为json或从json转换为json。你已经试过什么了?你找到了什么文件?这个问题真的很模糊。