Sockets 如何在MOSQUITO中同时启用TCP和web套接字?
我使用Paho库通过MQTT实现消息传递。在我的mosquitto.conf文件中,我有以下内容:Sockets 如何在MOSQUITO中同时启用TCP和web套接字?,sockets,tcp,mqtt,mosquitto,Sockets,Tcp,Mqtt,Mosquitto,我使用Paho库通过MQTT实现消息传递。在我的mosquitto.conf文件中,我有以下内容: listener 1883 protocol websockets 此配置适用于web应用程序。当我尝试使用Android和iOS连接TCP时,它给出了一个错误,“连接超时”。当我禁用协议websockets行时,它可以与Android和iOS一起工作,但是网页无法连接 当我尝试测试MQTT服务器test.mosquitto.org时,一切正常 请告诉我,我需要它与Android、iOS和web
listener 1883
protocol websockets
此配置适用于web应用程序。当我尝试使用Android和iOS连接TCP时,它给出了一个错误,“连接超时”。当我禁用协议websockets
行时,它可以与Android和iOS一起工作,但是网页无法连接
当我尝试测试MQTT服务器test.mosquitto.org时,一切正常
请告诉我,我需要它与Android、iOS和web应用程序一起工作,同时支持WebSocket和TCP连接。您需要定义两个侦听器,一个用于TCP上的mqtt,另一个用于WebSocket:
# this will listen for mqtt on tcp
listener 1883
# this will expect websockets connections
listener 8080
protocol websockets
简言之:
- 在web(javascript)上,您需要websocket支持
- 在Android/iOS上,您可以使用标准TCP侦听器
我已经在中记录了我的使用经验。谢谢你的回复。我会调查的。谢谢你的回复。在我的服务器中,8080没有启用。我现在就检查一下。8080只是一个例子,它可以是任何东西。关键是,您不能在同一端口上使用正常的mqtt和WebSocket。当我尝试上述操作时,会出现错误“连接失败:AMQJS0007E套接字错误:未定义。重试”。当我重新启动服务器并尝试时,它现在可以工作了。非常感谢。使用此新配置启动代理后(
mosquitto-c/etc/mosquitto/mosquitto.conf
),WebSocket不需要自己构建mosquitto,它使用的是来自