我使用 spring+stomp 向 websocket 客户端广播消息,但我怎么知道结果是成功的?我使用setSendTimeout方法并捕获异常来检测convertAndSend是否成功,但是没有用!代码
@Resource
private SimpMessagingTemplate simpMessagingTemplate;
@RequestMapping("/test")
public String test() {
simpMessagingTemplate.setSendTimeout(1);
String result;
try {
simpMessagingTemplate.convertAndSend("/topic/test", "haha");
result = "success!";
} catch (Exception e) {
result = "failed! \n" + e.toString();
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
js代码
<script src="/lib/websocket/sockjs.min.js"></script>
<script src="/lib/websocket/stomp.min.js"></script>
<script>
var socket = new SockJS("/kefu");
var client = Stomp.over(socket);
client.debug = function (str) {
};
client.connect(
{},
function () {
client.subscribe('/topic/test', function(msg) {
console.log(msg);
});
},
function (error) {
console.log(error);
}
);
</script>
Run Code Online (Sandbox Code Playgroud)