Я работаю над интересным проектом, который требует от меня изучения очередей сообщений и веб-узлов. Я пытаюсь подключить браузеры через websockets к экземпляру rabbitmq, используя sockjs, а не чистые websockets. На кролике я активировал плагины для stomp и web_stomp (при использовании sockjs требуется web_stomp).RabbitMQ STOMP connection
Проблема, с которой я столкнулся, заключается в том, что, хотя звонок из браузера работает правильно, потому что очень короткое соединение с кроликом осуществляется через соединение webstomp/stomp, но через 2 или 3 секунды соединение сбрасывается Кроликом ,
Это подтверждается бревнами RabbitMQ:
= ИНФО ОТЧЕТ ==== 11-Jul-2016 :: 23: 01: 54 === принимает соединение ТОПАЙТЕ (192.168.1.10:49746 - > 192.168.1.100:55674)
= ИНФОРМАЦИОННЫЙ ОТЧЕТ ==== 11-июл-2016 :: 23: 02: 02 === закрытие соединения STOMP (192.168.1.10:49746 -> 192.168.1.100:55674)
Это код браузера, который соединяет RabbitMQ через плагин webstomp:
var url = "http://192.168.1.100:55674/stomp"; var ws = new SockJS(url); var client = Stomp.over(ws); var header = { login: 'test', passcode: 'test' }; client.connect(header, function(){ console.log('Hooray! Connected'); }, function(error){ console.log('Error connecting to WS via stomp:' + JSON.stringify(error)); } );
Вот Кролик конфигурации: [ {rabbitmq_stomp, [{default_user, [{login, "test"}, {passcode, "test"} ] }, {tcp_listeners, [{"192.168.1.100", 55674}]}, {heartbeat, 0} ] } ].
Я был за Кролика документы в миллион раз, но это чувствует, как что-то простое, что я с видом.