Search code examples
websocketrabbitmqstomp

RabbitMQ Web STOMP without SockJS


Is it possible to setup RabbitMQ Web STOMP connection without SockJS library?

I have played around with rabbitmq-web-stomp plugin without a success as the initial response generated by the server is Welcome to SockJS! (which is obviously not a STOMP based message).

Is SockJS really required? What does it bring into the game (besides legacy browser support)?


Solution

  • SockJS protocol does support raw WebSocket clients under /websocket path.

    Any SockJS server complying with 0.3 protocol does support a raw WebSocket url. The raw WebSocket url for the test server looks like:

    ws://localhost:8081/echo/websocket
    

    You can connect any WebSocket RFC 6455 compliant WebSocket client to this url.

    This is supported by Rabbit's implementation as well. So the default endpoint is: http://example.com:15674/stomp/websocket.