Tôi đang cố gắng tìm ra cách để các khách hàng SockJS của tôi kết nối lại với máy chủ nếu nó bị hỏng.SockJS Client tự động kết nối lại?
Tôi hiện có này:
new_conn = function() {
socket = new SockJS(protocol + serverDomain + '/echo', null, {
'protocols_whitelist': ['websocket', 'xdr-streaming', 'xhr-streaming', 'iframe-eventsource', 'iframe-htmlfile', 'xdr-polling', 'xhr-polling', 'iframe-xhr-polling', 'jsonp-polling']
});
};
socket.onopen = function() {
clearInterval(recInterval);
};
socket.onclose = function() {
recInterval = window.setInterval(function() {
new_conn();
}, 2000);
};
Vấn đề là các setInterval
giữ bắn ngay cả sau khi kết nối lại thành công. Dường như socket.onopen
không bao giờ được thực thi.
Bất kỳ ý tưởng nào tôi có thể làm sai?
trong trường hợp của bạn, sử dụng setTimeout() nên tốt hơn so với setInterval() – Fielding34
@ Fielding34 Thật sự tôi nghĩ rằng nó là hoàn toàn ngược lại - 'setInterval()' là tốt hơn bởi vì OP muốn giữ cố gắng (trong khi máy chủ bị hỏng) cho đến khi nó kết nối – TMG