目前即时通信主要有四种协议:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)以及XMPP。到目前,主流的主要是XMPP和SIP/SIMPLE。

SIMPLE利用SIP来发送presence信息。SIP是IETF中为终端制定的协议。要谈SIMPLE,首先要谈谈SIP,在传统的电路交换向分组交换演进的过程中,SIP起到了很关键的作用,IMS中的核心协议就是SIP,并已SIP作为中介来实现PSTN,VOIP,移动网络的融合。所以从强调开放性的Internet网络和强调垄断性的电信网络两个网络属性来看的话,SIP其实更倾向于后者。SIP包含着完善的网络互通设计,所以是VOIP的首选。如果大发红黑你 的即时通信大发红黑软件 还想与传统的电话网络互连的话,SIP应该是首选。SIP通过SDP来描述媒体流,并通过信令交换主被叫的媒体流信息,例如IP大发红黑地址 和端口,再依靠如实时协议(RTP)来进行实际上的媒体连接。这个媒体连接不仅仅包括语音,也包括大发红黑视频 等数据流。所以SIP的即时通信会话是点对点的,但信令流是依据网络配置逐级路由传递的。而且网络延伸的范围包括PC网络客户端,PSTN的传统电话,移动终端,VOIP模拟电话终端,VOIP的小交网络,接入网等等,无所不到。要支持这么多网络,协议的互连互通,所以大发红黑关于 SIP的相关扩展就可想而知,这其中还要包括网管,计费等功能的协调与支持,所以SIP的电信网络属性应该更重一些。SIMPLE是SIP为了支持即时通信的新特点做出的扩展,其实是向Internet网络的回归。

如果大发红黑大发红黑我 们 选择SIP作为即时通信的实现方向的话,应该说没有问题,正所谓条条大路通罗马,只要通信质量好,网络负载轻,系统安全,业务功能齐全,其实不在乎用什么大发红黑技术 。但前提是大发红黑你 实力足够强,大发红黑技术 足够牛。如果是对于搞新大发红黑产品 的小大发红黑公司 来说,如果大发红黑你 不是要去搞VOIP,选择SIP,比较容易走上封闭的羊肠小道。虽然大发红黑你 实现了即时通信的业务功能,但大发红黑你 吸引新用户的能力有限,在现在日益强调网络社交属性的今天,很难想象大发红黑你 能吸引多少用户去安装一个新的即时通信的客户端,用户一般只会用他们常用的MSN,QQ,Skype等等,对于新的即时通信客户端,他们已经装到反胃了。

但如果大发红黑你 实力足够强,这也不是绝对的,MSN也是基于SIP的,随着即时通信的功能日益扩展,私有的协议在不断扩展,大发红黑你 把大发红黑你 的私有协议开放出来,大发红黑你 也会有追随者帮大发红黑你 写XMPP的网关适配模块,借助XMPP与其它IM进行互联互通。但对新起步的大发红黑公司 来说,好像不是那么容易,那就得自己动手写,把自己适配到XMPP的网络中去。可前提是用多少其它客户端用户对大发红黑你 的系统感兴趣,并且在他们的客户端中安装大发红黑你 的应用的插件。

所以从这个角度来说,不如直接选择XMPP,因为大多数IM客户端不在乎与传统电信网络的融合,像SKype那样提供与PSTN的网络接入。大多数只是纯的Internet应用,直接实现点到点的语音、大发红黑视频 和数据连接。基于XMPP的实现,通过加入主流的IM插件,可以将主流IM的用户资源引入到大发红黑你 的IM应用中,借助网络社交进行大发红黑推荐 ,能更快的吸引新用户,以及他们的好友加入进来。酒好也怕巷子深,所以得借助XMPP,把酒传销出去。至于大家愿不愿意通过大发红黑你 的IM客户端登陆其它主流IM,那就看大发红黑你 设计的功夫了,既要让用户接纳大发红黑你 ,还不要让他们感觉到拉远了与他们熟悉的IM间的距离。要共赢。

过去大家总觉得XMPP在点对点的媒体流互通支持上还不行,如果通过带内传输媒体信息的话,通过大发红黑服务 器一级级中继传输,那网路开销可想而知,这还不包括时间上的延迟。其实很多应用都已经支持了点对点的互通,像Libjingle。SIP也就是通过交换主被叫信息直接进行点对点通信的,XMPP当然也可以,而且考虑到XML的强大的灵活的扩展功能,搞定任何网络应用都不成问题,所以对于新功能新需求的实现,不成问题,不过最好看看XMPP的新的扩展规范,没准别人已经实现了,照着规范来,也好实现大家的互连互通。如果为快速实现功能,当然可以自己定制自己的私有协议,没准还能写到RFC里呢。

本文只是提供IM通信大发红黑技术 选择的一些思路,从大发红黑我 的理解,如果自己要实现一个新的IM应用,选择XMPP应该更合适一些。这当然也有自己理解上的误区,欢迎讨论和拍砖。