感谢 1.10 的巨大更新,Django 现在支持异步 websockets。惊人的! 我使用 websockets 将客户端连接到 Django 服务器。现在我有一个用例,其中服务器需要初始化到另一台服务器的套接字连接。
问题: Django 后端是否可以初始化与另一台服务器的 websocket 连接?如果是,如何做到这一点?
请您参考如下方法:
绝对有可能初始化从 Django 到 WS 服务器的 websocket 连接。您可以使用许多 websocket 包,例如 https://websockets.readthedocs.io/en/stable/启动 websocket 客户端。
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("> {}".format(name))
greeting = await websocket.recv()
print("< {}".format(greeting))
asyncio.get_event_loop().run_until_complete(hello())
您应该小心决定将此代码放在哪里,因为 websockets 本质上是异步的。