我正在開發一個有趣的項目,它需要我學習消息隊列和websockets。我試圖通過websockets將瀏覽器連接到使用sockjs而不是純websocket的rabbitmq實例。在兔子我已經激活了stomp和web_stomp插件(使用sockjs時需要web_stomp)。RabbitMQ STOMP連接
我遇到的問題是,雖然來自瀏覽器的呼叫似乎正常工作,因爲通過webstomp/stomp連接與兔子進行非常簡短的連接,但在2或3秒後,連接被兔子。
這由RabbitMQ的日誌證實:
= INFO REPORT ==== 11-JUL-2016 :: 23:01:54 === 接受STOMP連接(192.168.1.10:49746 - > 192.168.1.100:55674)
= INFO REPORT ==== 2016年7月11日:: 23:02:02 === 正在關閉STOMP連接(192.168.1.10:49746 - > 192.168.1.100:55674)
這是通過webstomp插件連接到RabbitMQ的瀏覽器代碼:
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} ] } ].
我一直在兔年文檔一百萬次,但這種感覺就像簡單的東西,我俯瞰。