什么是Stomp
STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。STOMP协议由于设计简单,易于开发客户端,因此在多种语言和多种平台上得到广泛地应用。
服务端要求
这个库不是单纯的Stomp 客户端。它旨在WebSockets上运行而不是TCP。基本上,WebSocket协议需要在浏览器客户端和服务端之间进行握手,确保浏览器的“same-origin”(同源)安全模型仍然有效。
这意味着该库不能连接常规的STOMP代理,因为Websocket初始化的握手不是STOMP协议的一部分,他们不能理解从而会拒绝连接。
有一些正在进行的工作添加了WebSocket支持STOMP代理,从而他们可以在WebSocket协议上接受STOMP连接。
Stomp API
STOMP 帧(Frame)
STOMP Over WebSocket 提供了一个直接从Stomp Frame
映射到 Javascript 对象的方式。
Stomp Frame
帧格式如下:
Property |
Type |
Notes |
command |
String |
name of the frame ("CONNECT", "SEND", etc.) |
headers |
JavaScript object |
body |
String |
command
和headers
属性始终会被定义,不过当这个frame
没有头部时,headers
可以为空。若这个frame
没有body
,body
的值可以为null
。
创建STOMP
客户端
在web浏览器中使用普通的Web Socket
STOMP javascript 客户端会使用ws://
的URL与STOMP 服务端进行交互。
为了创建一个STOMP客户端js对象,你需要使用