Ich arbeite an einem lustigen Projekt, bei dem ich Message Queues und Websockets lernen muss. Ich versuche Browser über Websockets mit einer Instanz von rabbitmq zu verbinden, indem ich Socken statt reiner Websockets verwende. Auf Hasen habe ich die Plugins für stomp und web_stomp aktiviert (web_stomp wird benötigt, wenn sockjs verwendet wird).RabbitMQ STOMP connection
Das Problem ist, dass während der Anruf vom Browser scheint ordnungsgemäß zu funktionieren, weil eine sehr kurze Verbindung zu Rabbit über die Webstomp/Stomp-Verbindung hergestellt wird, aber nach 2 oder 3 Sekunden wird die Verbindung von Rabbit fallen gelassen .
Dies wird durch die rabbitmq Protokolle bestätigt:
= INFO REPORT ==== 11-Jul-2016 :: 23: 01: 54 === Annahme STOMP Verbindung (192.168.1.10:49746 - > 192.168.1.100:55674)
= INFO REPORT ==== 11-Jul-2016 :: 23: 02: 02 === Schließen der STOMP-Verbindung (192.168.1.10:49746 -> 192.168.1.100:55674)
Dies ist der Browser-Code, der über das webstomp Plugin RabbitMQ verbindet:
Hiervar 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)); } );
ist das Kaninchen config: [ {rabbitmq_stomp, [{default_user, [{login, "test"}, {passcode, "test"} ] }, {tcp_listeners, [{"192.168.1.100", 55674}]}, {heartbeat, 0} ] } ].
Ich war über die Kaninchen docs eine Million mal, aber das fühlt sich an wie etwas einfach, dass ich mit Blick auf.