WebSocket connection to ‘ws://localhost:15674/nest‘ failed: Error in connection establishment: net::

websocket链接本地RabbitMQ失败

报错内容

Opening Web Socket...
WebSocket connection to 'ws://localhost:15674/ws' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
Whoops! Lost connection to ws://localhost:15674/ws
连接失败!

页面部分(纯静态)

<!DOCTYPE html>
<html>

<head></head>

<body>
    <h1>WebSocket Test Page</h1>
    <ul id="list"></ul>
    <script src="https://cdn.bootcss.com/stomp.js/2.3.3/stomp.js"></script>
    <script src="https://cdn.bootcss.com/sockjs-client/1.1.4/sockjs.js"></script>
    <script type="text/javascript">

        if (typeof WebSocket == 'undefined') {
            console.log('不支持websocket')
        }

        // 初始化 ws 对象
        var ws = new WebSocket('ws://localhost:15674/ws');

        // 获得Stomp client对象
        var client = Stomp.over(ws);

        // 定义连接成功回调函数
        var on_connect = function (x) {
            //同上
            console.log('connected')
            client.subscribe("/exchange/xxx/xxx", function (data) {
                console.log('收到数据:', data)
                insertNode(data.body)
            });
        };

        // 定义错误时回调函数
        var on_error = function () {
            console.log('connect was error!');
        };

        // 连接RabbitMQ,输入用户名和密码,连接成功和失败函数
        client.connect('guest', 'guest', on_connect, on_error, '/');

        function insertNode(string){
            var wrap = document.getElementById('list')
            var el = document.createElement('li')
            el.append(string)
            wrap.appendChild(el)
        }
    </script>
</body>

</html>

rabbitmq(docker)

exchange也创建了新的交换机

queue也创建了新的路由并且绑定了exchange新创建的交换机

结果总是报错链接不上,

错误原因

rabbitMQ在默认用docker图形化软件启动后,没有关于插件web-stomp端口15674的映射,所以websocket链接建立不起来,用以下命令启动即可解决

docker run -d --name rabbitmq -p 15676:15671 -p 15672:15672 -p 15691:15691 -p 15702:15692 -p 25672:25672 -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15674:15674 rabbitmq:management

报所有端口都映射出去,再次刷新页面就可以连通了,也可以正常订阅接受消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值