MQTT over websocket c

时间:2018-05-23 09:53:52

标签: websocket mqtt

我已经使用mosquitto broker在我的机器上使用服务器连接tcp套接字实现了mqtt。我完全理解mqtt协议及其帧格式。我想通过webserver发布我的数据,它支持mqtt over websocket。

我怎么能从这件事开始呢?

我不清楚websocket概念
我可以使用tcp实现websocket,还是有任何其他方法。 我是否必须使用http在Web套接字上实现mqtt,以便通过网络服务器发送数据? 由于http和mqtt使用不同的方法来发送或接收数据。

我不想使用像paho这样的现成库。 我对这个socket编程完全不熟悉。任何帮助或指南都将非常感谢!

1 个答案:

答案 0 :(得分:0)

Websockets是HTTP协议的扩展,您需要使用格式正确的HTTP请求来设置新的Websocket连接。

一旦建立连接,它就可以用来发送你将通过现有TCP连接发送的完全相同的二进制MQTT数据包。

我建议您使用现有的库(如libwebsockets)来处理Websocket连接设置,然后您应该能够将现有代码连接到仅使用websocket句柄而不是套接字句柄。

如果您真的不想使用库,那么您需要先阅读Websocket RFC https://tools.ietf.org/html/rfc6455