Django通道或Tornado,用于基于套接字的连接

2024-05-15 02:10:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个项目,在这个项目中,我可以通过Django restapi查看加油站的列表,显示加油站的数据,即燃料的可用性和容量。在

我还开发了一个微控制器来检测燃油油位。现在的问题是这些数据将每隔10分钟发送到我的web后端(将来可能会缩短到1分钟),通过RESTAPI更新站点模型。我不知道该怎么办。在这种情况下,Django频道会有用吗?在

服务器使用C和Java混合使用来发送数据。我需要它是一个可扩展的解决方案,因为有许多站的潜力正在创建。在


Tags: 数据项目django模型restapiweb列表站点
1条回答
网友
1楼 · 发布于 2024-05-15 02:10:55

我会回答我自己的问题。Websockets允许双向通信机制,无论是在客户端浏览器和web服务器之间,还是在服务器到服务器之间的通信。在

关于如何在客户端浏览器和web服务器之间建立这种连接,有很多教程,但是关于如何在两个服务器之间交互的文档非常有限。在

如果设置了Django频道并监听传入连接,即127.0.0.1:8001

所以你的消费者.py会有一个代码,如ws-unu-message,其中包含任何传入消息的路由。它只是将接收到的信息回送到终端。在

from channels import Group
def ws_message(message):
    print(message.content['text'])
    Group('chat').send({
        'text': 'user %s' % message.content['text'],
    })

然后,如果你想从你的另一个服务器(可能是一个传输数据的微控制器)建立一个连接,下面的代码将把数据发送到指定的地址127.0.0.1:8001。 请注意,您将需要用于python的websocket包

pip install websocket

服务器-插座.py在

^{pr2}$

这相当简单。它向连接的websocket发送0-99范围内的数字。在

相关问题 更多 >

    热门问题