There are lots of STOMP clients, and if there is not one for your language of choice they are easy to write.
xtomp supports WebSockets so any modern Browser can talk to xtomp.
Install with npm
npm install stomp-js
For testing STOMP protocol violations and fiddling at the TCP socket level xtomp is tested with xtomp-raw
npm install stomp-raw
I have tested Jason R. Briggs' python stomp.py library. stomp.py can also be installed as a much more convenient CLI.
git clone https://github.com/jasonrbriggs/stomp.py sudo apt-get install python-setuptools sudo python setup.py install
stomp.py supports heart-beats correctly
#> stomp --heartbeats=120000,120000 > subscribe memtop-a Subscribing to "memtop-a" with acknowledge set to "auto", id set to "1" >
Yeti seems like a decent STOMP client for Java, from the makers of hastlecastmq.
Telnet is a STOMP client because the protocol is so simple, the only complication is to send a
\0 you need a
Ctrl + @.
On a US keyboard this is
Ctrl + Shift + 2 it is different on different keyboards.
When you get it right, telnet will echo
Presuming xtomp is running and listening on the standard port...
A simple session might be
#> telnet localhost 61613
This should reploy
telnet localhost 61613 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.
You need to type
CONNECT\n\n\0 on my keyboard this is
CONNECT [Enter] [Enter] [Ctrl + Shift + @]
If you get the
\0 correct this should print
CONNECTED server:xtomp/0.2 version:1.0 session:47 heart-beat:180000,120000
N.B. the STOMP protocol requires a blank line before the
Telnet actually sends a windowsy type new line
\r\n, xtomp politely ignores this and behaves as expected.
This means you can not send heart-beats with telnet, a heart-beat must be a single