2015-01-20 2 views
1

내 Websocket 세션이 서로 통신 할 수 있어야하는 요구 사항이 있습니다. 클라이언트 A가 여러 구독자가있는 대기열에서 요청을 보내는 요청 응답 모델을 작성하고 있습니다. 에이전트 (Ag1 및 Ag2). 내 요청이이 두 구독자간에 로빈을 돌 것입니다. 불행하게도, 이벤트는 일대일 통신이 아닌 두 에이전트 모두에게 브로드 캐스트됩니다.스프링 websocket 클라이언트 대 클라이언트 통신

내 봄 설정

@Override 
    public void registerStompEndpoints(StompEndpointRegistry registry) { 
     registry.addEndpoint("/websocket").withSockJS(); 
    } 

    @Override 
    public void configureMessageBroker(MessageBrokerRegistry config) { 
     config.setApplicationDestinationPrefixes("/app"); 
     config.enableSimpleBroker("/queue", "/topic"); 
    } 

클라이언트 JS 코드

requestResponse = new RequestResponse({ 
    outgoingChannel : "/queue/clients", 
    incomingChannel : "/topic/broadcast/clients", 
    callbackFn : widget3eventHandler 
},session); 

에이전트 가입자 코드

requestResponse = new RequestResponse({ 
    outgoingChannel : "/topic/broadcast/clients", 
    incomingChannel : "/queue/clients", 
    callbackFn : widget3eventHandler, 
    processAll : true 
},session); 

I 이것은 SIMP Broker의 버그이거나 내가 잘못한 것입니다.

답변

2

클라이언트와 클라이언트 간의 통신을 수행하는 방법을 알고 싶으면 this sample chat application을 확인할 수 있습니다.

+0

고마워요 브라이언 .. 제가 좀 살펴 보겠습니다. –

관련 문제