簡體   English   中英

stomp.js 收不到鼠兔發來的消息(RabbitMQ 版本:3.11.7)

[英]stomp.js cannot receive message sent from pika (RabbitMQ version: 3.11.7)

我有一個 web 頁面,它應該使用 STOMP 從 RabbitMQ 接收消息:

<body>
    <script src="stomp.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/sockjs-client@1.1/dist/sockjs.min.js"></script>

    <script>
        var client = Stomp.client('ws://localhost:15674/ws');

        client.debug = null;
        var sub = function(d) {
            // print_first(d.body);
            console.log("got the message! ", d.body)
        }
        var on_connect = function(x) {
            id = client.subscribe("/topic/test", sub);
            console.log("connected")
        };
        var on_error =  function() {
          console.log('error');
        };
        
        client.connect('guest', 'guest', on_connect, on_error, '/');
    </script>
</body>

當我運行這段代碼時,它在控制台中顯示已connected (到目前為止還不錯)

我還有一個 python 后端,它應該將消息發送到隊列 (send.py):

import pika

connection = pika.BlockingConnection(
    pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare("/topic/test")

properties = pika.BasicProperties(
        content_type='application/json',
        content_encoding='utf-8',
        delivery_mode=2,
    )

channel.basic_publish(exchange='',
                      routing_key='/topic/test',
                      body='Hello World!',
                      properties=properties)

消息已發送(我使用py -m send運行腳本;消息出現在 RabbitMQ 管理中): rabbitMQ 的用戶界面

但是sub中的console.log沒有運行。 知道我該如何解決這個問題嗎?

謝謝!

最后使用 stomp.py 而不是鼠兔:

import stomp
PORT = 61613
LOCALHOST = '0.0.0.0'
conn = stomp.Connection11([(LOCALHOST, PORT)])  
conn.connect('guest','guest')
conn.send(body="start",destination='/queue/test')
conn.send(body="end",destination='/queue/test')
conn.disconnect()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM