socket.io 强制断开客户端
Posted
技术标签:
【中文标题】socket.io 强制断开客户端【英文标题】:socket.io force disconnect client 【发布时间】:2014-01-09 17:49:44 【问题描述】:我可能在这里做错了,但我无法理解这一点。
以下不起作用:
客户
$("#disconnectButton").click(function()
socket.emit("disconnect");
);
服务器
socket.on("disconnect", function()
console.log("this never gets called");
);
我不能从客户端手动调用断开事件吗?因为以下工作:
客户
$("#disconnectButton").click(function()
socket.emit("whatever");
);
服务器
socket.on("whatever", function()
socket.disconnect();
console.log("this gets called and disconnects the client");
);
【问题讨论】:
您强制断开连接的原因是什么?如果你试图引导某人违反限制或安全限制,你应该不那么优雅地终止连接。 我有一个聊天应用程序,我想在其中添加一个“断开连接”选项 - 以便有人可以手动断开与 websocket 的连接(有点像在用户点击刷新时进行复制。)跨度> 【参考方案1】:'disconnect'事件是Socket.io事件,如果你使用emit调用'disconnect',可能会导致其他问题
所以:
$("#disconnectButton").click(function()
socket.emit("disconnect");
);
替换:
$("#disconnectButton").click(function()
socket.disconnect();
);
【讨论】:
这不会为我调用disconnect
事件。
为我工作。谢谢!【参考方案2】:
目前,socket.emit('disconnect')
或 socket.disconnect()
不起作用。
断开与套接字服务器的正确语法是
socket.close()
【讨论】:
以上是关于socket.io 强制断开客户端的主要内容,如果未能解决你的问题,请参考以下文章