现有IM协议关于建立对话分析。

SIP协议:

 http://tools.ietf.org/html/rfc3261#page-69

http://hi.baidu.com/nathan2007/blog/item/1ee3823422ebbdb6d1a2d376.html

通过分析,大概过程是:

Invite ->  ok 绑定了一个信道,之后对话。因此是现有dialog,之后才能对话。 

在这点,可以看出原来的MyFetion丢失了这部分协议,只能接受对方发起的会话协议。

也可以看出,服务器需要状态持久一个会话。同时分析超时。

而查看腾讯的QQ协议,似乎没有一个建立会话的过程。 

而MEssageID = OutPacket.GetNextSeq() 是个序列。因此没有会话持久的设计。

Msn的设计和SIP几乎一致。不过建立了会话之后,开启了一个新的socket。

总结,协议的发展方向都是需要先建立会话,然后再对话,这样对服务器的性能影响最小。 

原文地址:https://www.cnblogs.com/zc22/p/1756646.html