即时通讯软件协议选择

          项目启动之前的准备会议都开了几天了,但是一直困扰于一个问题——联 的方式(Tcp/Ip与Http之间选择),如果这个问题不解决,后面的具体通信协议就没有办法确定(旧的协议里面有大量的服务端主动通信动作,这在Http下是不能完成的)。所以现在首要的问题是确定 络连接类型,根据这几天的讨论,我总结于下:

          Tcp/Ip优点:1.速度快 2.老的协议是基于Tcp/Ip的,可以很容易的兼容,修改较少 3.客户端程序编写相对容易

          Tcp/Ip缺点:不能满足使用代理(cmwap)上 的用户,这是因为cmwap只支持Http和Wap协议(或者换句话说只支持短连接,但是即时通讯软件本身更适合长连接)。

           Http优点:可以满足所有联 类型,意思是基本可以保证在所有手机上我们的软件都可以运行(Iphone待定)。

           Http缺点:1.联 速度慢 2.服务端改动较大,很多逻辑都要重新设定 3.服务端连接压力大,这是因为在Http协议下,为了保证消息的即时性,客户端必须不断的轮询(而且假定10秒请求一次,那么很有可能出现这样的情况:一条新的消息在间隔15秒以后才出现在客户端) 4.据外包团队技术人员说:Iphone手机上,如果是Http连接,那么程序处于后台挂起的时候,程序是不运行的(这一点是不可接受的,等于退出了),我们自己的技术人员提出了一种解决方案,但是还没有得到验证。

         2.采用Http连接,所有手机都可以联 (Iphone挂起以后暂时不确定)。说明:Http连接可以通过头设置分为长连接和短连接,我们可以根据用户的手机联 方式选择。长连接的话,和Tcp/Ip基本完全一样,短连接就是通常的Http连接(满足上面分析的Http优点和缺点)。这个方案暂时有两个问题:1.服务器端要适配两种类型的协议,不少业务都要分两种处理逻辑 2.在Http长连接的情况下,暂时不确定Iphone挂起以后,程序会不会假死(就是不运行)

        3.据 友反馈:腾讯采用的是Tcp/Ip协议,但是它花钱“买通”了运营商,运营商的代理 关支持腾讯的长连接。在用户是cmwap联 的方式下,也不会有任何问题。

       4.模仿QQ联 方式
Iphone版QQ早期是不支持cmwap的,2.5以后才是支持。由于不能看到源码,通过 上资料显示:手机QQ早期版本基于Tcp/Ip,后期开始支持Http。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2012年1月15日
下一篇 2012年1月15日

相关推荐