断开后拆下插座
remove socket after disconnect
执行socket.disconnect()后,我需要从服务器中删除套接字
users = {}
ids_disconnect = []
io.of('/example')
.on('connection', function (socket) {
var user_id = socket.decoded_token.user;
if(users[user_id] === undefined){
users[user_id] = {"socket": socket};
} else {
ids_disconnect.push(users[user_id].socket.id);
users[user_id].socket.disconnect(true);
users[user_id] = {"socket": socket};
}
console.log("User Connect: " + user_id + " SocketID: " + socket.id);
//disconnect client
socket.on('disconnect', function () {
console.log('User Disconnect ' + user_id);
if(ids_disconnect.indexOf(socket.id) != -1){
console.log('Disconnect Force: ' + user_id );
ids_disconnect.splice(ids_disconnect.indexOf(socket.id),1)
} else {
delete users[user_id];
}
});
});
};
这是我的代码,但套接字无法从服务器上删除。
对不起我的英语
在触发disconnect
事件之前,您必须先侦听它。
users = {}
ids_disconnect = []
io.of('/example')
.on('connection', function(socket) {
var user_id = socket.decoded_token.user;
//disconnect client
socket.on('disconnect', function() {
console.log('User Disconnect ' + user_id);
if (ids_disconnect.indexOf(socket.id) != -1) {
console.log('Disconnect Force: ' + user_id);
ids_disconnect.splice(ids_disconnect.indexOf(socket.id), 1)
} else {
delete users[user_id];
}
});
if (users[user_id] === undefined) {
users[user_id] = {
"socket": socket
};
} else {
ids_disconnect.push(users[user_id].socket.id);
users[user_id].socket.disconnect(true);
users[user_id] = {
"socket": socket
};
}
console.log("User Connect: " + user_id + " SocketID: " + socket.id);
});
};
相关文章:
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 服务器上的Meteor客户端断开连接事件
- markrwithlabel.js(第三方)原始文件链接断开
- 如何使用Cucumber.js检查断开的链接
- Web 地址虚拟目录会断开外部 JavaScript 链接,因此找不到文件
- websocket客户端在发送大数据时断开连接
- Will my'新对象'在套接字断开连接时被垃圾收集
- window.scrollTo()与Polymer Project核心滚动标题面板断开
- 断开后拆下插座
- Dynatable与动态HTML标头断开
- 在.settle()(或等效项)中,从Promises数组中断开
- socket.io:断开连接事件 - “传输关闭”、“客户端命名空间断开连接”、“传输错误”和“强制关闭”
- 插座IO室和名称列表
- 套接字发生了什么's在'断开连接'事件(服务器端)
- 我需要在停止后断开振荡器AudioNode的连接吗
- 正在尝试将插座与phonegap连接
- 移除断开插座上的对象.io
- 如何断开插座的当前房间
- 断开插座.io并发送断开原因
- JS插座.io断开for()循环