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의 버그이거나 내가 잘못한 것입니다.
고마워요 브라이언 .. 제가 좀 살펴 보겠습니다. –