Netty案例(一)之长连接

本文探讨了Netty中长连接的应用场景,分析了长连接的三种策略,包括持续开启的长连接、批量提交的短连接以及定时断开重连的特殊长连接。着重介绍了Netty的ChannelGroup特性,它是一个线程安全的Channel集合,方便对多个连接进行管理和广播消息。当客户端连接到服务器时,将其加入ChannelGroup,从而实现消息的统一推送。
摘要由CSDN通过智能技术生成

netty版本

  1. netty版本:io.netty:netty-all:4.1.33.Final

长连接

  1. 由于服务器和客户端的交互全是通过Channel(通道)的读写操作来实现的,所以这个应用逻辑层必须要做的一件事就是对Channel的管理,另外和Channel紧密相关的就是客户端设备和用户,那么到底是用设备绑定Channel,还是用用户绑定Channel,这个问题须得考虑清楚。
  2. 第一种,使用长连接通道不断开的形式进行通信,也就是服务器和客户端的通道一直处于开启的状态。如果服务器性能足够好,并且我们的客户端数量也比较少的情况下,是适合使用长连接的通道。
  3. 第二种,采用短连接方式,一次性批量提交数据,也就是我们会把数据保存在本地临时缓冲区或者临时表里。当达到数量时,就进行批量提交;或者通过定时任务轮询提交。这种情况是有弊端的,就是无法做到实时传输。如果应用程序对实时性要求不高,可以考虑使用。
  4. 第三种,采用一种特殊的长连接。特殊在哪里呢?在指定的某一时间之内,服务器与某台客户端没有任何通信,则断开连接,如果断开连接后,客户端又需要向服务器发送请求,那么再次建立连接。这里有点CachedThreadPool的味道。
  5. Netty中的每一个Socket连接就是一个Channel,只需要将所有连接的客户端Channe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值