有谁搞过 Python 的 Websocket Client ?请教几个问题。

网上的文档太少了,先问第一个问题, Python 的 Websocket Client ,如何订阅指定频道?

翻遍了谷歌也找不到,我看到不少文章都是写的:

ws.send(json.dumps({"event":"subscribe","channel":"trades"})

想不通,这个只是普通发消息的方法,哪门子是订阅啊?类似 ws.subscribe(url) 的方法完全找不到。

阅读 8.3k
2 个回答

https://websockets.readthedoc...

#!/usr/bin/env python

# WS client example

import asyncio
import websockets

async def hello():
    async with websockets.connect(
            'ws://localhost:8765') as websocket:
        name = input("What's your name? ")

        await websocket.send(name)
        print(f"> {name}")

        greeting = await websocket.recv()
        print(f"< {greeting}")

asyncio.get_event_loop().run_until_complete(hello())

凭印象回答。仅供参考。

订阅机制,找找python应该有具体的实现方案。如果用python,自己实现,需要用比较复杂的通信原理。比如信号量等。
另外结合协程,或者进程通信来实现。

另一个方案用redis 或者 mongodb 可以直接实现。比较简单。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题