在node.js中检测客户端连接的关闭

时间:2010-10-17 14:09:29

标签: node.js

我使用node.js进行长期连接。我想知道如何在客户端连接关闭时检测到(可能是当用户关闭选项卡时)。如何为此指定回调?

2 个答案:

答案 0 :(得分:11)

回答我自己的问题 - 您可以通过执行以下操作来检测客户端连接的关闭:

http.createServer(function(request, response) {    
    request.connection.addListener('close', function () {
        // callback is fired when connection closed (e.g. closing the browser)
    });
}

答案 1 :(得分:0)

看看Socket.io。它按以下顺序支持以下传输:

  1. 的WebSocket
  2. Adob​​e Flash Socket
  3. AJAX长轮询
  4. AJAX multipart streaming
  5. 永远的iframe
  6. JSONP民意调查
  7. 好处是你可以比单独的长轮询处理更多的并发连接。此外,您还将获得丰富的功能,如心跳和断开连接。

    io.sockets.on('connection', function (socket) {
    
      // ... other socket handlers here ...
    
      socket.on('disconnect', function () {
        // do something to handle the disconnect
      });
    });