下面是我从https://dzone.com/articles/easy-messaging-stomp-over上搜索到的web客户端示例代码。
<script type="text/javascript">
var client = Stomp.client( "ws://localhost:61614/stomp", "v11.stomp" );
client.connect( "", "",
function() {
client.subscribe("jms.topic.test",
function( message ) {
alert( message );
}, { priority: 9 }
);
client.send("jms.topic.test", { priority: 9 }, "Pub/Sub over STOMP!");
}
);
</script>我的问题是,为什么用'ws://localhost:61614/stomp‘而不是'stomp://localhost:61614/stomp’连接activemq?activemq.xml中的以下协议有什么不同?
<transportConnectors>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614"/>
</transportConnectors>发布于 2017-12-23 00:27:15
基于“%ws”的传输连接器适用于希望通过WebSockets上的STOMP进行连接的客户端。WebSockets是一种将直接基于TCP的套接字与基于STOMP的传输连接器进行通信的不同方式,需要不同的握手以及其他操作,并且通常在Web浏览器内部使用,或者用作在防火墙中导航的方式,因为初始连接是HTTP get。最新的ActiveMQ broker支持基于websockets的STOMP、MQTT和AMQP,所有这些都是通过基于“ws”的传输连接器端点实现的。
https://stackoverflow.com/questions/47921672
复制相似问题