如何确认websocket(spring websocket + stomp + sockjs)消息传递

时间:2015-03-24 10:59:58

标签: java spring stomp sockjs spring-websocket

我正在使用websockets创建一个简单的客户端 - 服务器演示。在此演示中,客户端可以订阅不同的主题。每当服务器有任何要发送的内容时,它只会在适当的主题上发送消息,只有订阅的客户端才会收到相同的消息。

我的服务器应该在将消息发送到任何主题时得到确认,但我有点困惑,当发送方法返回void

时,我应该如何得到发送消息的确认

下面是我的 WebSocketConfig 类,

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

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

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

以下是主题订阅在客户端发生的方式

var topic = '/testApp/testTopic';
stompClient.subscribe(topic, function(greeting){
});

以下是服务器向特定主题发送消息 的方式,

 String message = "test message";
 this.template.convertAndSend(topic, new Chat(message));

上述方法(即this.template.convertAndSend(topic, new Chat(message));)返回void

最后我能够成功地向所有/特定订阅客户端发送消息,但不知道如何确保消息是否在另一端成功发送?

0 个答案:

没有答案