没有SockJS的RabbitMQ Web STOMP

Pav*_*ral 4 stomp rabbitmq websocket

是否可以在没有SockJS库的情况下设置RabbitMQ Web STOMP连接?

rabbitmq-web-stomp由于服务器生成的初始响应Welcome to SockJS!(显然不是基于STOMP的消息),我已经玩了插件而没有成功.

SockJS真的需要吗?它为游戏带来了什么(除了传统的浏览器支持)?

Pav*_*ral 6

SockJS协议支持/websocket路径下的原始WebSocket客户端.

任何符合0.3协议的SockJS服务器都支持原始WebSocket URL.测试服务器的原始WebSocket URL如下所示:

ws://localhost:8081/echo/websocket
Run Code Online (Sandbox Code Playgroud)

您可以将任何符合WebSocket RFC 6455的WebSocket客户端连接到此URL.

Rabbit的实现也支持这一点.所以默认端点是:http://example.com:15674/stomp/websocket.

  • RabbitMq web stomp 不支持 websocket PING 帧消息——服务器不会发回 PONG 帧。这就是为什么 client.heartbeat.outgoing 和 client.heartbeat.incoming 被设置为 0 的原因(参见官方示例——“SockJS 不支持心跳:禁用心跳”)。因此,您的连接将被代理或 stomp-websocket 库终止(如果您没有将 client.heartbeat.* 设置为 0)。 (3认同)