我正在尝试使用安卓客户端制作一个实时网站。如何将例如mosquitto连接到PHP5,angularjs前端和android应用程序?
我是否必须将 nodeJs 与 socket.io 用于 angularjs 前端,然后使用 nodeJs 服务器用于所有 android MQTT 消息?
这一切都太令人困惑了。我用兔子试了一段时间,但卡住了:(
如果您的 android 应用程序只需要向服务器发送消息,您可以使用简单的 REST API。如果您也需要服务器到应用程序的消息传递,那么您可以尝试云消息传递或仅使用简单的WebSockets,它可以为您提供实时性能。在后一种情况下,您需要WebSockets客户端的Java实现,例如,这个。
服务器和浏览器之间的实时通信也可以使用WebSockets完成。你可以像这样使用众多PHP WebSockets实现之一。使用 Socket.IO 可能有点棘手,请查看此链接以获取更多信息。
在浏览器中,您可以使用标准的WebSockets API。如果您需要支持没有 WebSockets 支持的旧浏览器,则需要检查 Socket.IO 或 SockJS 库,因为它们提供回退机制。
有人仍然被困住,将回答它(6年后)
我是否必须将 nodeJs 与 socket.io 用于 angularjs 前端,然后使用 nodeJs 服务器用于所有 android MQTT 消息?
就是这个想法。
- 在你的服务器上安装一个代理(mosquitto可以很好地与nodejs配合使用)
A. 在代理 conf
中使用 MQTT 协议添加第一个侦听器b. 为 WebSocket 协议添加第二个侦听器 - 使用 mqtt 协议将您的安卓客户端(发布者)连接到您的代理
- 使用websocket协议(https://github.com/php-mqtt/client 用于php)连接您的网站(suscriber)
这个想法是使用 mqtt 协议,因为它适用于嵌入式设备消息传递(更轻 =>更快、更可靠)。websocket协议将被使用,因为它是用于通信btw网站和服务器。