Spring websocket客户端到客户端的通信

时间:2015-01-20 19:36:05

标签: spring stomp spring-websocket

我有一个要求,我的Websocket会话应该能够相互通信。我正在创建一个请求响应模型,我的客户端A将在队列上发送请求,我有多个用户代理(Ag1和Ag2) 。我希望我的请求可以在这两个订阅者之间循环。不幸的是,该事件被广播给代理人而不是一对一的通信。

我的春季配置

@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);

这是SIMP Broker中的错误还是我做错了什么。

1 个答案:

答案 0 :(得分:3)

如果您想知道如何实现客户端与客户端的通信,可以查看this sample chat application