6

LAN アプリケーションで SocketIO を使用しています。

クライアントが起動し、サーバーがオフになっている場合、どうすれば接続を再試行し続けることができますか?

socket.io で GET エラーが発生するため、「connect_failed」イベントは発生しません: " http://172.20.2.10:8080/socket.io/1/?t=1348654723279 "

だから私は試しました:

 var socket = io.connect('172.20.2.10',{port:8080});    
 var connected = false;

    socket.on('connect',function(){                                
                    connected = true;
                });
    socket.on('error', function (err) {
                    reconnect();
                });

    function reconnect(){
                    if (!connected){
                        var t = setTimeout( function() {
                            socket = io.connect('172.20.2.10',{port:8080});
                            reconnect();
                            console.log("Socket REC");
                        },1000);

                    }
                }

しかし、再接続しません。JSエラーが原因だと思います...

可能であれば、ページの更新を避けようとしています。

4

1 に答える 1

19

ソケットインスタンスのreconnectメソッドを手動で使用できます。

socket.on('error', function (err) {
socket.socket.reconnect();
});
于 2012-12-10T11:42:29.780 に答える