如何处理node/express应用中的请求断开

How to handle request disconnect in node/express app

本文关键字:应用 express 断开 请求 node 何处理 处理      更新时间:2023-09-26

我有一个express/node应用程序,我想在连接中出现意外中断时捕获。我尝试了以下操作:

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

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

  • Wifi断开

  • 设备因缺电而关闭

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

您可以使用套接字来完成此操作。套接字。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
  });
});

断开连接事件将在客户端失去连接时触发。要在客户端连接,它看起来像这样:

<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>