前两天整理了websocket的资料,今天就把上次没说完的Stomp.js好好说一说~
Stomp Over Webscoket参考文档:http://jmesnil.net/stomp-webs...
本文为参考文档的部分翻译,技术不佳,如有失误请指正。
本文转载自个人博客:http://lsxj615.com/2016/08/17...
什么是Stomp
STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。STOMP协议由于设计简单,易于开发客户端,因此在多种语言和多种平台上得到广泛地应用。
协议支持
该库支持多种版本的STOMP协议:
- STOMP 1.0
- [STOMP 1.1]2
下载STOMP.JS
你可以下载 stomp.js 并在你自己的WEB应用程序中使用。
提供了多种版本也可以直接用于生产。
这个js文件由CoffeeScript文件构建,请查看Contribute部分下载源码或浏览 annote source code
服务端要求
这个库不是单纯的Stomp 客户端。它旨在WebSockets上运行而不是TCP。基本上,WebSocket协议需要在浏览器客户端和服务端之间进行握手,确保浏览器的“same-origin”(同源)安全模型仍然有效。
这意味着该库不能连接常规的STOMP代理,因为Websocket初始化的握手不是STOMP协议的一部分,他们不能理解从而会拒绝连接。
有一些正在进行的工作添加了WebSocket支持STOMP代理,从而他们可以在WebSocket协议上接受STOMP连接。
HornetQ
HornetQ是由Red Hat and JBoss创立的开源消息系统.
要使HornetQ支持STOMP Over WebSocket,下载最新版本并按照下列步骤执行:
$ cd hornetq-x.y.z/examples/jms/stomp-websockets $ mvn clean install ... INFO: HQ: Started Netty Acceptor version 3.6.2.Final-c0d783c localhost:61614 for STOMP_WS protocol Apr 15, 2013 1:15:33 PM org.hornetq.core.server.impl.HornetQServerImpl$SharedStoreLiveActivation run INFO: HQ: Server is now live Apr 15, 2013 1:15:33 PM org.hornetq.core.server.impl.HornetQServerImpl start INFO: HQ: HornetQ Server version 2.3.0.CR2 (black'n'yellow2, 123) [c9e29e45-a5bd-11e2-976a-b3fef7ceb5df]
讯享网
此时HornetQ已经开启了,并且61614在端口监听STOMP over WebSocket它从URL为ws://localhost:61614/stomp 接受WebSocket的连接。
配置文档
ActiveMQ
配置文档
ActiveMQ Apollo
配置文档
RabbitMQ
配置文档
Stilts & Torquebox
Stilts 是一个STOMP原生的消息框架。
TorqueBox 使用Stilts去提供它的Websockets and STOMP stack。
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 |

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/75969.html