前提・実現したいこと
websocket で 接続切れが起きた場合の処理を行いたいと思い
ws.onclose関数を使用してみたのですが、タイムアウトの時間が短かすぎるために、頻繁にwebsocketの接続が切れるメッセージがでてきます。頻度としては、1分間に数回?おそらく不規則だと思います。
ここのタイムアウトの時間を10秒等に変更することは可能でしょうか?
該当のソースコード
javascript
1 function connect() { 2 const ws = new WebSocket("ws://localhost:" + xxx + "yyy"); 3 console.log("Setup web socket:", ws); 4 5 ws.onopen = function(){ 6 ws.send(JSON.stringify({ 7 "event": "event-name", 8 "AtrNameInFrontend": "Hello World!", 9 })); 10 } 11 12 console.log("Send success!!"); 13 14 ws.onmessage = (message) => { 15 let obj = JSON.parse(message.data); 16 17 console.log(obj.event); 18 19 console.log(obj.AtrNameInFrontend); 20 subject.innerHTML=obj.AtrNameInFrontend; 21 if (obj.AtrNameInFrontend == "1") { 22 ws.close() 23 document.location.reload(); 24 } 25 } 26 27 ws.onclose = function(e) { 28 console.log('Socket is closed. Reconnect will be attempted in 1 second.', e.reason); 29 ws.close(); 30 setTimeout(function() { 31 document.location.reload(); 32 }, 5000); 33 }; 34 ws.onerror = function(err) { 35 console.error('Socket encountered error: ', err.message, 'Closing socket'); 36 ws.close(); 37 }; 38 } 39 40 connect()
補足情報(FW/ツールのバージョンなど)
Ubuntu18.04
回答1件
あなたの回答
tips
プレビュー