如何关闭客户端的套接字连接?
我正在使用:
- 插座io 0.9
- node .js 0.10.15
- 快报3.3.4
即.:
var test = io
.of('/test')
.on('connection', function (socket) {
console.log('open socket: ' + socket);
socket.on('disconnect', function () {
console.log('disconnected event');
//socket.manager.onClientDisconnect(socket.id); --> endless loop with this disconnect event on server side
//socket.disconnect(); --> same here
});
});
--客户端
var socket = io.connect('http://localhost:3000/test');
socket.on('disconnect', function () {
console.log('disconnect client event....');
});
socket.emit('getInitData', function (data) {
.. do something with data
});
如果我加载测试页面,我需要从服务器(getInitData)获取一些值
服务器端的连接会在页面重新加载和离开页面时自动关闭
UPDATE
window.onbeforeunload = function(e) {
socket.disconnect();
};
这会在客户端触发断开连接事件,但我仍然会得到两次或三次响应.