WebSocket客户端连接断开后,服务器端的析构处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/i042416/article/details/88173548

先看我的WebSocket服务器端代码:

clipboard1

socket.on('disconnect', function(){
    console.log("disconnect event detected, client is probably not there");
    eventEmitter.emit('close',socket);
  });

一旦客户端比如浏览器主动断开连接,服务器实现扑捉disconnect的事件,然后抛给服务器端应用实现。

服务器端应用实现响应这个事件,调用服务器的析构例程,把该客户端对应的套接字从套接字池里移除:

clipboard2

移除实现:

clipboard3

 function disconnectFromGivenClient(disconnectedSocket){
      console.log("before destruction, client size: " + clients.length);
      clients = clients.filter(function(item) {
      return item !== disconnectedSocket
      });
      console.log("after destruction, client size: " + clients.length);
    }

运行时测试效果:

clipboard4

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

猜你喜欢

转载自blog.csdn.net/i042416/article/details/88173548