2017-09-06 9 views
1

こんにちは前後にいくつかのデータを送信しようとしていた、と私は私のクライアントを閉じたときに私のサーバーがクラッシュしたことが判明...JavascriptをWebSocketを閉じる=サーバーがクラッシュ

私のサーバーはnodejs-を使ってNode.jsのですwebsocketライブラリ。

これを追加しなければならないことがわかりました。

window.onbeforeunload = function() { 
    connection.close() 
} 

この周辺は離れていますか? 誰かがあなたのサーバをクラッシュさせたいと思ったら、彼はJavaScriptからその を取り除くことができませんでしたか?あなたはちょうどあなたの接続エラーイベントをリッスンする必要があり

events.js:160 
     throw er; // Unhandled 'error' event 
    ^

Error: read ECONNRESET 
    at exports._errnoException (util.js:1018:11) 
    at TCP.onread (net.js:568:26) 
+0

は、あなたのサーバー側のコードは多分... –

+0

はうーん、ここでの問題は、あなたのサーバーサイドコードで私たちが必要です表示少なくとも、この答えが言うことですあなたにいくつかの助けを提供するためにそれを見る。 – jfriend00

+0

ただ今更新されました。 –

答えて

3

var ws = require("nodejs-websocket"); 
var server = ws.createServer(function(conn){ 
     console.log("New connection") 


     conn.on("end", function(code,reason){ 
      console.log('Connection Lost') 
     }); 
}).listen(8001); 

エラー:

WebSocketを

サーバー側を使用して、これが初めてですのでご注意下さいそれは例外を投げたり、アプリを閉じたりすることはありません。 Node js ECONNRESET

基本的には、これが最初に試してみてください:

var ws = require("nodejs-websocket"); 
var server = ws.createServer(function(conn){ 
     console.log("New connection"); 

     conn.on("error", function(err) { 
      console.log("Error caught: ") 
      console.log(err.stack) 
     }); 

     conn.on("end", function(code,reason){ 
      console.log('Connection Lost') 
     }); 
}).listen(8001); 
+1

サーバインスタンス自体も 'error'イベントを出力します(https://github.com/sitegui/nodejs-websocket#event-errorerj) – robertklep

+0

時々答えはちょうどあまりにも簡単なダム!あなたは正しくありがとう! –

関連する問題