如何在node / express app中处理请求断开连接

时间:2016-10-19 21:56:42

标签: javascript node.js express request

我有一个快速/节点应用程序,我希望在连接出现意外中断时捕获。我尝试了以下方法:

req.on('close', function () {
  //this captures the browser/tab close scenarios 
})

我的代码在以下场景中不起作用:

  • Wifi已断开连接

  • 设备由于缺电而关闭

是否有可以在这些场景中使用的事件处理程序?

1 个答案:

答案 0 :(得分:0)

您可以使用套接字来完成此任务。 Socket.io很受欢迎。

var io = require('socket.io')({
  'port': 8000,
  'heartbeat interval': 2000,
  'heartbeat timeout' : 3000
});
io.listen(server);

var app_socket = io.of('/foo');
app_socket.on('connection', function(socket) {
  // BROWSER CONNECTED

  socket.on('disconnect', function(){
    // BROWSER DISCONNECTED
  });
});

只要客户端失去连接,就会触发disconnect事件。要在客户端进行连接,它将如下所示:

<script media="all" src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
  var socket = io.connect('/foo');
  socket.on("connect", function(){
    // CONNECTED TO SERVER
  });
</script>