b.长连接与短连接的区别:    
在短连接中,在一次数据交换过程中,就建立一次TCP连接,数据交换完毕后,拆除TCP连接。而在长连接中,TCP连接一直保持,每次发送数据都是通过这个连接,在无数据交换中,服务器和客户端仍保持这个TCP连接,并按时发送心跳以确定连接始终存在,若连接失败也马上重新发起连接,并对其进行保持。
c.长连接方法的优劣:
优点:在长连接建立后系统会一直保持TCP连接,在这种情况下,服务端可以更据自己的更新情况向客户端主动推送信息,这样避免了客户端定时轮询发送的大量无用请求包,节约服务器资源。同时客户端可以减少轮询时的无用请求需要的资源,尤其是客户端轮询间隔较短时。
劣势:在实施中,在服务器和客户端之间的更复杂需要付出一定程度的工作量来进行长连接文护。另外,服务器和许多客户端都需时刻保持一个长连接需要占用较多资源,当更新速度很慢时,即利用长连接交换数据频率较低时会造成额外资源浪费,服务器可能会被这些长连接拖垮。
d.什么时候适合采用长连接:
在长连接上的交换数据越多,即系统更新速度越快时,长连接的利用效率较高,这时长连接的优势就会被展现出来。实际生活中,一些实时通讯软件,如腾讯qq,微信或者其他聊天软件,适合运用TCP长连接法推送消息。但对于视频网站等更新速度较慢,采用长连接就十分不适合了。
3.2.3两种方法的比较
轮询的方法在客户端保持一个时间触发器,每隔一定时间(可变)就响服务器发送询问请求包。如果服务器更新速度很慢或者极不稳定,就给服务端带来大量的无用请求,加重服务器进程的负载负担,给服务器带来大大不利。不过轮询过程发生在后台,不需要用户主动参与,当接受到信息后对用户来说任然是服务器主动推送,因此对用户可以看做一种表面上的推送服务。
从上述方面上来看,长连接方法更符合推送的定义,而且避免了轮询过程中许多不需要的资源消耗。这意着服务器无需处理大量的无用请求。但是在实际应用中,采用长连接法却也存在问题。首先就是长连接的保持,对于服务器而言,它必须确保长连接的稳定存在,因此实际操作中,长连接双方会通过某种协议,从而实现轻量级的心跳来测试连接的有效性。另外对于手机客户端,手机连入网络的过程是先接入私有网络,在连接到因特网,如果一段时间不访问因特网,该连接将被关闭,所以和服务器端的长连接将被破坏。
另外,在ios智能设备中,系统自己文持了一个和apple服务器的长连接,意着推送服务程序可以直接使用长连接服务,文护工作都是由ios系统自己文持。但是在Android智能终端上,虽然Google也提供了类似的功能,但是由于Google在中国大陆没有服务器,导致利用Google账户和Google服务的连接十分不稳定,所以长连接问题需要每一个开发者自己文持,因此带来了额外的工作量。
因此,国内第三方推送平台迅速发展,如个推,极光推送,百度云推送等待,我们可以利用它们来进行推送服务。
3.3本章小结
本节对云推送进行了简要介绍,并对云推送方法进行了详细讨论,在之后的系统设计中,都需用到这些知识。
上一篇:基于PCS的Android家庭媒体解决方案设计
下一篇:基于NS3的LTE-WiFi无线网络构架仿真

银行行办公信息服务系统【1544字】

论信息技术茬外语教學中的應用【3270字】

计算机信息管理茬第三方...

电子商务中信息不對称问题研究【2365字】

用友NC信息系统的实施應用实践研究【3307字】

浅析人工智能体系建设【5490字】

网络信息安全技术管理的...

10万元能开儿童乐园吗,我...

承德市事业单位档案管理...

C#学校科研管理系统的设计

中国学术生态细节考察《...

志愿者活动的调查问卷表

AT89C52单片机的超声波测距...

神经外科重症监护病房患...

国内外图像分割技术研究现状

医院财务风险因素分析及管理措施【2367字】

公寓空调设计任务书