web前端使用websocket获取ActiveMQ消息队列

1.websocket

1、websocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。
2、websocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。
3、websocket中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

2.activeMQ

1、MQ:Message Queue 消息队列,就是用来在系统之间进行消息传递的。
2、MQ俗称消息队列,也称为消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目。

3.stomp

stomp它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理进行交互。

4.stomp使用方法

1、创建stomp客户端
var url = “ws://localhost:61614/stomp”;
var client = Stomp.client(url);
2、连接服务端
var connect_callback = function() {};
连接失败:var error_callback = function(error) {};
3、发送消息
client.send("/queue/test", {priority: 9}, “Hello, STOMP”);
4、订阅和接受消息
var subscription = client.subscribe("/queue/test", callback);

5.应用实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>测试</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/stomp.js/2.3.3/stomp.min.js"></script>
    <script>

        var url="ws://wlsx566.icu:61614/stomp";
        var login="admin";
        var passcode="admin";

        var destination="/topic/test1";
        client=Stomp.client(url);
        var onconnect=function(frame){
            client.subscribe(destination, function(message) {
            
                console.log(message.body);

                alert(message.body); 
                
                // if (message.body) {
                //     alert("got message with body " + message.body)
                //     } else {
                //     alert("got empty message");
                //     }

            });
        }
        
        client.connect(login, passcode, onconnect);

    </script>
</head>
<body>
    <h2>hello stomp!</h2>
</body>
</html>

你可能感兴趣的:(javascript)