2017-04-21 109 views
0

我需要一些帮助,对不起我的英语=)Python的龙卷风JSON流

我有收到一个JSON与API方法的API龙卷风请求处理程序,然后我解析API方法,并启动具体的子功能方法或子类方法。

其中一种方法是“getEvents”,如果接收到的JSON中的方法“getEvents”,那么第一个响应应该写入并向输出缓冲区写入一些API信息并且应该打开连接。

然后,一个线程正在调用它从应用程序收集事件数据,当检测到新事件时,线程应该写入并刷新包含该事件数据的JSON到输出缓冲区。

请求 - > API响应(连接保持打开) - > JSON味精 - > JSON味精 - >等

这可能有一个请求处理程序的子功能的协同程序,是这种行为可能持续打开连接并不断发送JSON MSG?

一些代码示例会很棒=)
非常感谢。

BR克里斯托夫

回答

0

在龙卷风的一面,这是很简单:只需编写信息和await self.flush()前后每一个:

async for i in some_queue: 
    self.write(i) 
    await self.flush() 

但是在客户端,事情麻烦 - 最JSON解析器唐不能很好地处理连续的JSON对象,所以您可能需要某种明确的分隔符或其他成帧。如果你想支持浏览器客户端,你应该使用websockets或server-sent events

+0

非常感谢你,我必须只处理服务器端=),异步和等待python3在python2我应该使用科罗恩吗? –

+0

是的,在较旧版本的python中,你会使用'@ gen.coroutine'和'yield' –

+0

谢谢...... –