Sockjs重新连接尝试未订阅RabbitMQ队列

Sockjs重新连接尝试未订阅RabbitMQ队列,rabbitmq,stomp,sockjs,Rabbitmq,Stomp,Sockjs,我在从UI连接Rabbitmq时遇到了一个奇怪的问题。我之所以使用“xhr轮询”只是出于某种原因,以便从UI连接rabbitmq队列,而且当用户登录页面时,它在相当长的一段时间内都可以正常工作,但在某个时刻它会与rabbitmq断开连接,而不会出现任何错误 我加入了一些重新连接的逻辑,一旦它断开连接,根据日志,它似乎连接了,但当我查看RabbitMQ时,没有客户端连接到它。但是,浏览器控制台(连接到服务器RabbitMQ/3.6.10)并不断发送调用xhr_send?t=[random key]

我在从UI连接Rabbitmq时遇到了一个奇怪的问题。我之所以使用“xhr轮询”只是出于某种原因,以便从UI连接rabbitmq队列,而且当用户登录页面时,它在相当长的一段时间内都可以正常工作,但在某个时刻它会与rabbitmq断开连接,而不会出现任何错误

我加入了一些重新连接的逻辑,一旦它断开连接,根据日志,它似乎连接了,但当我查看RabbitMQ时,没有客户端连接到它。但是,浏览器控制台(连接到服务器RabbitMQ/3.6.10)并不断发送调用xhr_send?t=[random key]和xhr?=[random key]的消息会得到204或200的响应(根据开发者工具)

当我刷新整个页面时,它再次正常连接,并看到rabbitmq客户机队列以及类似的内容(连接到服务器rabbitmq/3.6.10)

技术栈是:Sockjs+Stompjs+RabbitMQ和Stomp插件


总之,重新连接逻辑显示它已连接,但根据rabbitmq,没有订阅的客户端。通常,当连接时,我会将类似于stomp-subscription-rIUXo4Yvmilga2w3g5Lu6g的内容视为队列名称。

我只能建议您使用Wireshark查看连接,以便更好地了解到底发生了什么。如果您能够提供重现该问题的代码,rabbitmq用户邮件列表可能是一个很好的资源。我取消了Sockjs的使用,并开始使用本机WebSocket类。此外,我还设置了apache服务器以使用wstunnel连接rabbitmq实例