3
나는 spring + stomp를 사용하여 websocket 클라이언트에게 메시지를 브로드 캐스트하지만 결과가 성공적이라는 것을 어떻게 알 수 있습니까? setSendTimeout 메서드를 사용하고 convertAndSend가 성공했는지 여부를 감지하기 위해 Exception을 catch하지만 작동하지 않습니다! 자바 코드spring + stomp + sockjs와 함께 websocket 응답을 얻는 방법
@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;
}
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>
답변 해 주셔서 감사합니다. 연결이 끊어진 후이를 감지하지 못하면 convertAndSend 메서드를 호출하고 클라이언트가 내 메시지를 받았는지 여부를 알 수 없습니다! –