JAVA实现长连接(含心跳检测)Demo
来源:互联网 发布:西门子plc编程实例 编辑:程序博客网 时间:2024/06/05 23:05
实现原理:
长连接的维持,是要客户端程序,定时向服务端程序,发送一个维持连接包的。
如果,长时间未发送维持连接包,服务端程序将断开连接。
客户端:
Client通过持有Socket的对象,可以随时(使用sendObject方法)发送Massage Object(消息)给服务端。
如果keepAliveDelay毫秒(程序中是2秒)内未发送任何数据,则自动发送一个KeepAlive Object(心跳)给服务端,用于维持连接。
由于,我们向服务端,可以发送很多不同的消息对象,服务端也可以返回不同的对象。所以,对于返回对象的处理,要编写具体的ObjectAction实现类进行处理。通过Client.addActionMap方法进行添加。这样,程序会回调处理。
服务端:
由于客户端会定时(keepAliveDelay毫秒)发送维持连接的信息过来,所以,服务端要有一个检测机制。
即当服务端receiveTimeDelay毫秒(程序中是3秒)内未接收任何数据,则自动断开与客户端的连接。
ActionMapping的原理与客户端相似(相同)。
通过添加相应的ObjectAction实现类,可以实现不同对象的响应、应答过程。
Demo:
阅读全文
0 0
- JAVA实现长连接(含心跳检测)Demo
- JAVA实现长连接(含心跳检测)Demo
- JAVA实现长连接(含心跳检测)Demo
- JAVA长连接demo(含心跳检测)
- JAVA长连接demo(含心跳检测)
- JAVA长连接demo(含心跳检测)
- netty 5实现长连接心跳检测
- java Socket 长连接 心跳包 客户端 信息收发 demo
- Netty实现服务端客户端长连接通讯及心跳检测
- Netty实现服务端客户端长连接通讯及心跳检测
- Netty实现服务端客户端长连接通讯及心跳检测
- netty实现tcp长连接和心跳检测
- Java 心跳 Socket 长连接
- JAVA长连接demo
- 通过netty实现服务端与客户端的长连接通讯,及心跳检测。
- Netty实现服务端客户端长连接通讯、心跳检测及自定义报文发送(一)
- Android的socket通信的长连接,有心跳检测
- Android socket通信的长连接与心跳检测
- 浅谈Spring事务隔离级别
- 【C#】委托的多播
- php的页面跳转或者从定向
- 如何查看某个端口被谁占用
- ubuntu17.10配置GPU的cuda
- JAVA实现长连接(含心跳检测)Demo
- 【PHP面向对象(OOP)编程入门教程】10.__set(),__get(),__isset(),__unset()四个方法的应用
- 今天看了些JSTL表达式的一些相关东西,整理一下...
- SAP医疗行业-SAP医疗生态合作伙伴圆桌会议成功举办!
- 关于初学者如何理解面向对象和面向过程的区别以及java中的类和对象
- 理解一般指针和指向指针的指针
- 当多个<router />使用同一个组件的时候,切换页面地址,页面不刷新的问题
- SpringMVC返回json乱码
- 图片整合