2012-11-27 17 views
13

Socket.IOに問題があります。Socket.ioエラー処理

ソケットエラーの後にソケットを再接続しようとしていますが、再接続しません。コードは次のとおりです。

socket = io.connect(host, options); 
socket.on('connect', this.onConnect); 
socket.on('error', function() { 
    //here i change options 
    socket = io.connect(host, options); 
}); 

なぜ新しい接続が作成されないのですか? (ホストとポートは一定に保たれ、最初の接続で動作します)。

+4

1) 'ERROR'イベントは何? 2)新しい接続を作成していないことをどのように知っていますか? 3)明らかに、新しい接続を作成するときに、すべてのイベントハンドラをもう一度設定する必要があります。そうしていますか? – freakish

+1

1) "error"はデフォルトのsocket.ioイベント(https://github.com/LearnBoost/socket.io/wiki/Authorizing)です2)新しい接続はログに記録されません3)はい、できます – user1856728

+0

ログはありましたか?サーバー側?またはクライアント側? – freakish

答えて

9

{ 'force new connection': true }io.connectのオプションを追加してみてください。接続を再試行していないようです。

このオプションを指定しない限り、ソケットIOはすでに試行したホストに再接続しません。ここで

はインラインオプションを使用して、スニペット指定したハッシュされています

io.connect(host, { 
    'force new connection': true 
}); 

あなたがここにオプションについて詳しく知ることができます。https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO