维护socket长连接虽然很耗电,但是却有广泛的用途。如:网络电话,实时接单的应用等。
由于服务器域名固定,手机客户端的网络IP可能不断变更,服务器一般想主动找手机客户端想说声不容易。运营商发现手机经常不用网络时(大部分省份判断手机客户端最近30分钟内是否使用流量,来判断你的手机是否在用网络,若有流量就不把你IP分给别人),会把你的手机以前使用的IP分配给其它手机号,所有苹果把苹果手机网络定义为不稳定的网络,禁止发布的应用严重依赖网络的稳定性。所以服务和客户端只有建立可靠的socket长连接,每9分钟发送一次请求才能保持你IP不分配给别人,并且有服务需要向客户端下达订单时,可以通过这个长连接快速推送到手机客户端。要别APNS转了一大圈稳定,延迟小,也解决苹果对短期内推送大量类似信息被苹果服务器拦截的问题。
网络电话的原理也很简单。两个手机开启应用,经过服务器建立SOCKET长连接声音和视频格式流媒体数据流就可以了,当然要打电话是,对方收到网络电话请求消息时,弹出本地通知播放一段音乐就就可以了。网络电话简单吧!是否有开公司的冲动。这也是电话,电报的基本原理,他们都要通过服务器中转,服务器起到早期的电话接线员的角色。
SOCKET模块图:
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-08 09:57:52