2013-12-20 20 views
11

私はここで何か間違っているかもしれませんが、私はこれを頭に置くことができません。socket.io強制切断クライアント

次は動作しません:

socket.on("disconnect", function() { 
    console.log("this never gets called"); 
}); 

クライアント

$("#disconnectButton").click(function() { 
    socket.emit("disconnect"); 
}); 

サーバは、私は手動でクライアント側から切断イベントを呼び出すことができませんか?以下の動作するため:

クライアント

$("#disconnectButton").click(function() { 
    socket.emit("whatever"); 
}); 

サーバー

socket.on("whatever", function() { 
    socket.disconnect(); 
    console.log("this gets called and disconnects the client"); 
}); 
+0

切断を強制するために、あなたの推理は何ですか?制限やセキュリティの制限に違反して誰かをブートしようとしている場合は、接続をあまりうまくやめる必要があります。 – Brad

+0

私は '切断'オプションを追加したいチャットアプリを持っています。つまり、誰かがwebsocketから手動で切断できるようにしています(ユーザがリフレッシュすると複製するようなものです)。 – Tamas

答えて

8

'切断' イベントですSocket.ioイベント、あなたが '切断' を呼び出すために発する使用している場合、他のプロブラムを引き起こす可能性があります

so:

$("#disconnectButton").click(function() { 
    socket.emit("disconnect"); 
}); 

10置き換える:

$("#disconnectButton").click(function() { 
    socket.disconnect(); 
}); 
+1

これは 'disconnect '私のためのイベント。 – nicohvi

+0

私のために働く。ありがとうございました! – Nikola

関連する問題