2016-06-15 8 views
0

나는 명시적인 서버 측 웹 소켓없이 채팅 응용 프로그램을 작성하고 있습니다. 웹 소켓 컨테이너로 RabbitMQ webstomp를 사용하고 있으며 데이터를 송수신하기위한 클린트로 일반 Javascript를 사용하고 있습니다. ->기본 웹 소켓/sockjs가 ->rabbitmq이/sockjs가을 웹 소켓 (: //127.0.0.1 : WS 15674/WS 또는 http://localhost:15674/stomp) -가 브라우저 : 아래 rabbitmq에서 제공하는 webstomp websocket에서 데이터를 보내고받는 방법은 무엇입니까?

는 흐름이다> 메시지를 대기열에 넣습니다.

그러나 응용 프로그램을 테스트하는 동안 데이터를 직접 ws : //127.0.0.1 : 15674/ws으로 보낼 수 없습니다. 나는 그것에 접속할 수있다.

아래 템플릿을 사용하여 클라이언트 자바 스크립트로 데이터를 보내고받습니다.

  1. ws = new WebSocket ('ws : //127.0.0.1 : 15674/ws');
  2. client = Stomp.over (ws);
  3. client.connect ('guest', 'guest', on_connection, on_connect_error, '/');
  4. client.send (대기열, { 'reply-to': '/ 임시 대기열/로그', 우선 순위 : 9}, 'msg');
  5. client.onreceive =의 FUNC()

답변

0

문제, 가장 가능성이 코드에 있습니다

client.send(queue, {'reply-to':'/temp-queue/logs',priority: 9}, "msg"); 

당신이 주제에 메시지를 보낼 수있는 I가 제안

여기에있는 예제를 참조하십시오. https://github.com/rabbitmq/rabbitmq-web-stomp-examples

다음은 원래 예제에서 시작한 빠른 예제입니다.

var client = Stomp.client('ws://localhost:15674/ws'); 
     client.debug = pipe('#second'); 

     var print_first = pipe('#first', function(data) { 
      client.send('/topic/test', {"content-type":"text/plain"}, data); 
     }); 
     var on_connect = function(x) { 
      id = client.subscribe("/topic/test", function(d) { 
       print_first(d.body); 
      }); 
     }; 
     var on_error = function() { 
     console.log('error'); 
     }; 
     client.connect('guest', 'guest', on_connect, on_error, '/'); 

enter image description here