WebSocket客户端连接断开后,服务器端的析构处理
先看我的WebSocket服务器端代码:
socket.on('disconnect', function(){console.log("disconnect event detected, client is probably not there");eventEmitter.emit('close',socket);});
一旦客户端比如浏览器主动断开连接,服务器实现扑捉disconnect的事件,然后抛给服务器端应用实现。
服务器端应用实现响应这个事件,调用服务器的析构例程,把该客户端对应的套接字从套接字池里移除:
移除实现:
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);}
运行时测试效果:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
WebSocket客户端连接断开后,服务器端的析构处理相关推荐
- WebSocket客户端连接成功后,返回的socket里有用的字段
connectede和disconnected:表示两个状态相应的值 handshake - host - WebSocket服务器的IP地址和端口 origin - 客户端web应用的url use ...
- WebSocket客户端连接不上和掉线的问题以及解决方案
WebSocket客户端连接不上和掉线的问题以及解决方案 参考文章: (1)WebSocket客户端连接不上和掉线的问题以及解决方案 (2)http://www.cnblogs.com/goeasyc ...
- 使用 WebSocket 客户端连接 MQTT 服务器/vue 项目使用mqtt消息队列实现推送
简介 近年来随着 Web 前端的快速发展,浏览器新特性层出不穷,越来越多的应用可以在浏览器端或通过浏览器渲染引擎实现,Web 应用的即时通信方式 WebSocket 得到了广泛的应用. WebSock ...
- 关于php socket客户端连接java socket服务器端,出现连接中断的问题。
这几天有一个需求,需要用php通过socket通信的方式调用java的服务.但开发过程中总是出现php socket客户端出现连接被中断的情况,同时java socket服务器端实际已经正常接收到ph ...
- Android简单实现Socket通信,客户端连接服务器后,服务器向客户端发送文字数据
案例实现的是简单的Socket通信,当客户端(Android客户端)连接到指定服务器以后,服务器向客户端发送一句话文字信息(你可以拓展其它的了) 先看一下服务端程序的实现吧 Server.java i ...
- netty客户端连接后无限发送数据,连接不上时无限重试,断线重连
在之前的netty文章里,刚开始学,利用netty实现websocket写了一个聊天程序. 纯netty实现http,websocket协议,头像上传,搭建实时聊天室,群聊,私聊,文字,图片消息 本文 ...
- Android客户端连接SSM(Spring+SpringMVC+Mybatis)框架Java服务器端
Android客户端开发越来越流行,但是,Android客户端对应的服务器端采用什么框架呢?对于功能较为简单的应用,我建议,直接采用java web开发最简单的MVC框架即可(很多Android应用的 ...
- MQTT客户端连接服务器协议,mqtt客户端和服务器长连接
mqtt客户端和服务器长连接 内容精选 换一换 介绍设置客户端和服务器的安全认证方式的相关参数.参数说明:表明与服务器建立链接后,不进行任何操作的最长时间.参数类型:USERSET取值范围:整型,0- ...
- 配置ORACLE 客户端连接到数据库
--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle ...
最新文章
- ORACLE11g 前期安装环境配置
- 无需多个模型也能实现知识整合?港中文MMLab提出「烘焙」算法,全面提升ImageNet性能...
- matlab simulink互感,Simulink互感模块用set_param函数不能正确赋值
- [Dynamic Language] Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录...
- jOOQ,H2和Maven入门
- FreeRTOS应用开发笔记之一:FreeRTOS在STM32的移植
- ajax中的简单get请求,jquery 之ajax,get,post异步请求简单代码模版(示例代码)
- 孙鑫-MFC笔记十一--动态链接库
- 保存界面cd的内容图片到本地
- 如何用计算机寒假计划表,如何制定寒假学习计划表
- linux:nohup 不生成 nohup.out的方法
- 蓝桥杯之单片机学习(十八)——555定时器与频率测量
- 机器学习全生命周期,一步一步,中长篇(三)总共三篇
- webdriver中的等待——主要讲解WebDriverWait()
- 景深决定照相机什么特性_行政执法考试题库2017 2017摄影专业考试题库
- PHPCMS网站关站了打不开-站长真的凉了吗?
- 服务器与普通电脑之间的区别是什么?
- 模糊字符串匹配:双音素算法
- 大国数据跨境规则博弈,谁能抢占“数据经济制高地”?
- 最新可乐个人发卡网源码V2.0 仿DS网美化加强版