我有socket.io application
node.js
并且想知道只有关闭浏览器窗口才能回复客户端的可能性。反正知道这已经完成了吗?什么样的信号可以发送到服务器?
如果我没有办法告诉特定客户是否已经断开了我还能做什么?
答案 0 :(得分:4)
当客户关闭浏览器窗口时,socket.io会触发一个特殊的“断开连接”。事件。
假设您在节点服务器文件中需要socket.io
var io = require('socket.io');
然后你可以听到“断开连接”的声音。每个套接字触发的事件:
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');
});
答案 1 :(得分:3)
我有一个带有node.js的socket.io应用程序,并且想知道只有关闭浏览器窗口才能响应客户端的可能性。反正知道这已经完成了吗?什么样的信号可以发送到服务器?
您在node.js端的套接字将收到" disconnect"浏览器关闭连接时的事件,然后您可以对此作出反应。
答案 2 :(得分:1)
您希望在卸载触发器中通过套接字触发消息。
<body onunload="sendBrowserClosedMessageToServer()">
或者你称之为钩子。