我有这个代码来检测客户端的断开连接。
连接事件被正确捕获,但是当连接断开时(我已经强制它通过Chrome设备模式),不会捕获断开连接事件,并且控制台上没有写入任何内容。
var socket = io();
socket.on("connect", function(){
console.log("Client connected.");
this.on("disconnect", function(){
console.error("Client disconnected");
});
});
(我也尝试过使用单独的函数和其他事件,比如connect_error,但它是相同的
socket.on("connect", ...)
socket.on("connect_error", ...)
socket.on("disconnect", ...)
你能否告诉我这次活动有什么问题?
答案 0 :(得分:0)
您需要使用
socket.on('disconnect', function() {...});
而不是
this.on("disconnect", function() {...});
另一件事是基于socket.io documentation进行连接,正确的语法是:
socket.on('connection', function(){...});
答案 1 :(得分:0)
嗯,Simo的回答是正确的,你正在做的事情也是正确的但只有一次纠正。
当您收听连接时,您会收到一个套接字对象并使用它来处理断开连接。我想使用这个上下文是个问题。
socket.on("connect", function(socket){
socket.on("disconnected",function(){})
}
试一试。它的工作原理