2017-04-21 108 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

謝謝...... –