socket.io(node.js)で任意のタイミングで接続,切断,再接続したい場合。
2014年5月16日
ぐぐった感じ、ほとんどがjs読み込んだ途端に接続して、もし切断したら再接続みたいなのが多い。
(というか、ふつうに使う分にはそれでいいんですが・・)
任意のタイミングで接続、切断をしたかったので下記のような感じで接続してみた。
// 空のsocketを用意
var socket = { on: function(){} };
// 接続
var connect = function() {
if ( !socket.connected ) {
// 接続
socket = io.connect('http://example.com:3000');
}
else {
// 再接続
socket.connect();
}
socket.on('msg',function(mes){
// msg受信時の処理...
});
}
// 切断
var disconnect = function(){
socket.disconnect();
}
connect()を呼んだら接続、disconnect()を読んだら切断。