发信人: zombies()
整理人: williamlong(2001-11-21 20:50:30), 站内信件
|
【 在 ciert (安安) 的大作中提到: 】 : 【 在 ciert (安安) 的大作中提到: 】 : : 我对Oicq目前协议的初步看法 : : : : 在粗略看了oicq采用的实现方式以后,我感觉非常失望。 : .......
看了几篇post后,我也忍不住插上几句话!
首先对于QICQ,我虽然没用过,但从其实现方式看,极为类似ICQ. 而这类应用根据现在的IETF,被列为Presence/Messenging Group.
QICQ可能是基于一些open source的ICQ clone进行开发的. 而ICQ本身 的缺陷在于它的通信模型,基本是基于Centralized Server.在这种情况 下Server需要管理数量极为可观的Client,而优点是管理方便.
在这种模式下UDP是能提供高效率Transportation Service的好选择,而 问题在于UDP是不可靠的,所以不得不自己实现session control的办法. IETF也在做这方面的工作,希望在将来能提供标准的Connectionless Reliable Transport protocol.
除此之外,还有多种分布式的模型,如Activerse的Ding, IETF的PIP, Jabber.org的Jabber等, 在这中模式中,publishing server可以是 Heavyweight(如pip),也可以是lightweight(如Ding的whoDP). 但基本上publishing Server不必管理巨大的用户群.
不同于ICQ的ICQ Number, 任何一个个体可以拥有名字和Host,以区分 不同的publishing server.
如: PIP://pip.fion.com/alex 和 PIP://pip.netease.com/zombie 就是两个不同的个体. 在一个lightweight的 PIP publishing server 上,每个User Agent对Publishing Server只需做 1. Change State 2. Renew State 而message可以同过Redirect来让User Agent直接为Subscriber服务.
这样一来,TCP的好处就来了,由于是Reliable的,所以protocol的实现比较 简单. PIP采用类似http的protocol, control用XML做content,配合 PIP heads,提供了很好的可扩展性.
对不起,说的比较粗略.
-- Zombie ICQ:6256854
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 203.101.48.232]
|
|