我使用的是socket.io 1.0,也许我的想法是错误的。
实际上,我使用以下命令打开一个名称空间服务器端
var nsp = io.of('/myNamespace');和客户端连接到
var socket = io.connect('http://localhost/myNamespace');我可以毫无问题地开始交流。服务器端我用来捕获信号
nsp.on('connection', function(socket){
socket.on('disconnect', function(){
//problem here
});
});在断开连接时,我想断开连接到我的名称空间的所有套接字,所以我尝试这样做
for(var myParticipantID in io.sockets.adapter.nsp.connected)
{
io.sockets.adapter.nsp.connected[myParticipantID].disconnect();
}但它不起作用。我没有错误,但我尝试的客户端仍在连接
io.sockets.nsp.clients();但是从socket.io 1.0开始我就出错了
我不想创造空间,但也许这是我的错误?
谢谢你的帮助,MagicDenver
发布于 2014-07-21 17:19:30
如果对某些人有帮助,我使用node js,所以我创建了一个值:
app.set(idNameSpace,[]);当我有一个新的连接时,推送插座
发布于 2014-07-22 03:10:56
您应该使用io.of(namespace)函数来连接客户端。
for (var id in io.of('/namespace').connected) {
var s = io.of('/namespace').connected[id];
s.disconnect();
}如果您不知道名称空间,并且处于socket.on语句中,则可以使用socket.nsp.connected而不是io.of('/namespace').connected
https://stackoverflow.com/questions/24821304
复制相似问题