【发布时间】:2018-07-09 19:27:58
【问题描述】:
有没有办法连接 django 和使用 asyncio 构建的 tcp 服务器?
我有一个应该与客户端保持长期连接的 TCP 服务器,但我想将它与 Django 集成,以便用户可以根据来自 Django 的表单通过 TCP 服务器发送数据
- 听说过芹菜,不知道是否适合这个应用
- 我目前的想法是在接收帖子的django代码中放置一个临时tcp客户端,并让它向tcp服务器发送数据。我不希望这样做,因为我必须向 TCP 服务器添加更多特殊情况,以便识别数据是从 Django 而不是它的其他客户端之一发送的
【问题讨论】:
-
检查Django Channels。另外,请记住,如果您可以使用它们,则有一些标准(如 websockets)可用于持久连接。
-
很有趣,但我不确定 Django Channels 是否非常适合这个问题,因为它是针对 websockets 的。使用 websockets 在 TCP 服务器和 Django 服务器之间进行通信会引入另一个级别的复杂性。重新利用 django 通道来使用 TCP 似乎也很复杂
-
我很确定 Tornado 会为你做到这一点,我不是 100% 确定
-
@DiegoVinícius,我已经看到了这个选项,但是 TCP 服务器已经在 asyncio 中创建并使用了 Tornado 中似乎不存在的一些 asyncio 功能
-
您使用您的 django 表单并传播您调用 TCP 服务器的请求(在您的视图中),这样每当您收到新的表单请求时,您的 TCP 服务器都会收到它......没有内置-我现在想到了
标签: django python-asyncio