如何通过离开页面来处理socket.io断开连接?

我有一个与node.jssocket.io application ,并想知道有什么可能存在的响应客户端只是closures他们的浏览器窗口。 无论如何知道这已经完成了吗? 什么样的信号可以发送到服务器?

如果我没有办法说明某个客户是否断开了连接,我还能做什么?

我有一个与node.js的socket.io应用程序,并想知道有什么可能存在的响应客户端只是closures他们的浏览器窗口。 无论如何知道这已经完成了吗? 什么样的信号可以发送到服务器?

浏览器closures连接时,node.js端的套接字将收到“disconnect”事件,然后您可以对其进行响应。

当客户端closures浏览器窗口时,socket.io会触发一个特殊的“断开”事件。

假设你已经在节点服务器文件中需要socket.io

 var io = require('socket.io'); 

那么你可以监听每个套接字触发的'disconnect'事件:

 io.on('connection', function(socket){ console.log('a user connected'); socket.on('disconnect', function(){ console.log('user disconnected'); }); }); 

注 – 套接字在这里给出:

 io.on('connection', function(socket){ console.log('a user connected'); }); 

来源: http : //socket.io/get-started/chat/

你想在卸载触发器上通过套接字发送消息。

 <body onunload="sendBrowserClosedMessageToServer()"> 

或者无论你怎么称呼你的钩子。