【发布时间】:2016-10-25 19:17:54
【问题描述】:
我正在编写一个处理两个 WebSocket 的函数,每个 WebSocket 的响应都会改变一个共享的 DataFrame df。
import json
import asyncio
import websockets
@asyncio.coroutine
def printResponse(df, dataSocket, quoteSocket, dataRequest, quoteRequest):
yield from dataSocket.send(dataRequest)
yield from quoteSocket.send(quoteRequest)
response = yield from dataSocket.recv() # skip first response
response = yield from quoteSocket.recv() # skip first response
while True:
response = yield from dataSocket.recv()
print("<< {}".format(json.loads(response)))
df = changeRecord(df, response)
response = yield from quoteSocket.recv()
print("<< {}".format(json.loads(response)))
df = changeRecord(df, response)
我不确定,但当前代码似乎轮流处理两个 WebSocket。我想以“先进先出”的方式处理响应,无论它来自哪个 WebSocket。我应该如何做出改变来实现这个目标?
【问题讨论】:
标签: python websocket python-asyncio coroutine