类似MQTT的发布 - 使用Python和WebSockets订阅?

时间:2013-07-19 13:55:18

标签: python websocket tornado publish-subscribe mqtt

我正在开发一个需要框架来处理网页和Python之间的pub / sub连接的项目。

我已经使用过mosquitto(MQTT的开源实现)并且它可以工作,但是服务器需要一个修改的Apache模块来将WebSocket连接重定向到代理。

现在,我正在看龙卷风,但它不符合我的要求。我需要一个解决方案:

  • 网页连接到python服务器或某种代理,并订阅主题确实接收与该主题相关的数据。
  • 每当Python拥有与该主题相关的数据时(假设每10秒钟一次),数据就会被发送到订阅该主题的特定客户端。

提前致谢

4 个答案:

答案 0 :(得分:2)

您可以尝试使用HiveMQ * MQTT代理而不是mosquitto,因为它内置了基于websocket支持的MQTT。

答案 1 :(得分:1)

Autobahn提供了Publish&通过WAMP协议在WebSocket上订阅(和RPC),并为JS(除了其他人)和Python / Twisted服务器提供客户端。

这是一个完整的example

披露:我是Autobahn的原作者,并为Tavendo工作。

答案 2 :(得分:0)

websockify为tcp代理提供了一个可以放在mosquitto前面的websockets。如果你当然已经拥有一个Web服务器,则必须在80以外的其他端口上运行它,但它比处理自定义apache / lighttpd模块更容易。

答案 3 :(得分:-1)

运行MQTT / Websocket龙卷风服务器的脏代码,当mqtt“status /#”收到

时向客户端广播

https://github.com/Domosys-ORG/domosys_org/

见:

  • 仓/ tornado_websocket.py
  • domosys_web / domosys_web / mqtt.py
  • domosys_web /静态/ JS / ws.js

django上的客户在ngynx上开始使用gunicorn