基本概念
通常HTTP协议的模型是 Request ---> Respond , 客户端主动发起请求,而服务器不会主动向客户端发起通信。
为了达到数据同步,通常会采用Polling方式:客户端定时查询服务器。缺点是浪费带宽,响应有延迟(与查询间隔有关)。
解决办法【Server Push】 推送技术基于HTTP ,客户端与服务器维护一个长连接。
推送实现难点
移动终端
实现推送服务有如下几个技术难点,首先是移动设备的网络环境复杂,网络切换频繁,如何能保证在各种网络环境下,消息都能及时送达。
其次是为了维持多个设备 的长连接,需要大量的服务器资源投入,开发和维护成本很大。最后由于用于维持长连接的心跳需要将手机唤醒
,因此对于手机的电量是个不小的开销。
后续调研: 心跳包,NAT表, android长连接,Timer,AlarmManager,服务器设计 c10k,c200k问题
时间: 2024-10-10 10:47:11