如何在PHP中通过websockets代理向mqtt订阅/发布消息?

如何在PHP中通过websockets代理向mqtt订阅/发布消息?,php,mqtt,mqtt-over-websockets,Php,Mqtt,Mqtt Over Websockets,我正在寻找一种通过php的websockets代理将消息/通道发布/订阅到RabbitMQ mqtt的方法,但我找不到任何代码,也找不到任何好的库 我发现了,但它看起来像是针对MQTT的,而不是针对WebSocket上的MQTT,而且它看起来被抛弃了 为什么这么难呢?我知道我不是第一个找这个的人? 有什么建议吗 谢谢RabbitMQ使用AMQP而不是MQTT作为消息传递协议。无论如何,有几个PHP RabbitMQ库包装了基本库。当然,您可以使用MQTT插件,在这种情况下,该插件应该可以工作,但

我正在寻找一种通过php的websockets代理将消息/通道发布/订阅到RabbitMQ mqtt的方法,但我找不到任何代码,也找不到任何好的库

我发现了,但它看起来像是针对MQTT的,而不是针对WebSocket上的MQTT,而且它看起来被抛弃了

为什么这么难呢?我知道我不是第一个找这个的人? 有什么建议吗


谢谢

RabbitMQ使用AMQP而不是MQTT作为消息传递协议。无论如何,有几个PHP RabbitMQ库包装了基本库。当然,您可以使用MQTT插件,在这种情况下,该插件应该可以工作,但我真的不明白为什么要使用MQTT而不是AMQP,除非您有发布到rabbitmq服务器的嵌入式设备。在这种情况下,您仍然可以使用AMQP使用PHP消费消息

我最喜欢的PHP AMQP库是

下面是不同包装器库的基准:


amqp ext是最快的,但它必须安装到php安装中,所以我不推荐它,除非您每天已经运行数千万条消息,并且需要一点性能提升来提高成本

看起来这是本机MQTT的问题,而不是WebSocket上的MQTT。我使用插件,所以我使用RabbitMQ在WebSocket上提供MQTT。我们选择MQTT的原因是因为我们将向移动设备来回发送消息,因此,我们关心电池消耗和在不稳定网络上传输的保证。您仍然可以在phpInteresting中通过AMQP使用消息,您能进一步解释一下吗?我可以使用MQTT在移动(客户端)和web应用(客户端)端发布和订阅消息,并使用AMQP在php(服务器)端使用这些消息?是的,确切地说是“订阅者使用绑定到主题交换的RabbitMQ队列。”