【发布时间】:2018-03-07 19:45:44
【问题描述】:
我越来越熟悉这些库,但我被以下情况难住了:
我希望不断处理来自两个不同网站的 websocket 的更新消息。
但是考虑到 aiohttp.ClientSession() 对象应该存在于协程中,我无法使用单个会话变量来实现这一点。
import asyncio
import aiohttp
url1 = 'wss://example.com'
async def main():
session = aiohttp.ClientSession()
async with session.ws_connect(url1) as ws1:
async for msg in ws1:
# do some processing
loop = asyncio.get_event_loop()
loop.create_task(main())
loop.run_forever()
以上内容适用于单个 websocket 连接。但是因为 async for msg in ws: 是一个无限循环,所以我看不到我可以将这个异步循环的 ws2 版本放在哪里。
【问题讨论】:
标签: python python-asyncio aiohttp