通信(4) - 网络长链接

1. 使用第三方的长连接服务

这是最简单的方式,我们可以通过接入极光推送,百度推送,友盟等第三方服务实现长连接,通过接入第三方的API我们可以很方便的接入第三方的长连接,推送服务,但是这种方式定制化程度不太好,如果对长连接服务不是要求特别高,对定制化要求不是很高的话基本可以考虑这种方式(目前主流的App都是使用第三方的长连接服务)

优势:简单,方便

劣势:定制化程度不高

 

2. 使用NIO等方案实现长连接服务

通过NIO的方式实现长连接,这种方式对技术要求程度比较高,基本都是通过java API实现长连接,实现心跳包,实现异常情况的容错等操作,可以说通过NIO实现长连接对技术要求很高,一般如果没有成行的技术方案不建议这么做,就算实现了长连接,后期连接的维护,对电量,流量的损耗等都需要持续的优化。

优势:定制化比较高

劣势:技术要求高,需要持续的维护

 

3. 使用MINA等第三方框架实现长连接

MINA是一个第三方的NIO框架,该框架实现了一整套的长连接机制,包括长连接的建立,心跳包的实现,异常机制的容错等。使用MINA实现长连接可以定制化的实现一些特有的功能,并且比NIO方案较为简单,因为其已经封装了一些长连接的特有机制,比如心跳包,容错等。

优势:可定制,较NIO方法简单

劣势:也需要一定的技术储备

 

参考:https://www.jianshu.com/p/13b96d3f29c3

Mina  https://blog.csdn.net/qq_23547831/article/details/51690047

Netty https://blog.csdn.net/qq_15766129/article/details/54315227

对比:https://www.cnblogs.com/zhb1190/p/6926326.html

心跳保活:https://www.jianshu.com/p/16c8c9e09feb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值