XEP-0198:Stream Management研究

最近Jabber Server team的开发人员一直在讨论XEP 0198的东西,这个东西个人感觉还是比较有用的,特别是关于resume的部分,因为对于mobile client来说,网络掉线的概率还是比较大,目前对于掉线重连的case,很多人都觉得重连这一块太花时间了。如果server支持stream resume了,我想重连这一块会快很多。

下面是我学习0198这个XEP的一些成果:

1. 如果Server支持stream management, 在stream:features会包含下面的东西

<stream:features>
     <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
       <required/>
     </bind>
     <sm xmlns='urn:xmpp:sm:3'>
       <optional/>
     </sm>
   </stream:features>

2. Enable stream mangement比较简单,如下:

<enable xmlns='urn:xmpp:sm:3'/>


3. Acks, 这部分的内容相对来说比较复杂, client/server端应该包含两个东西, 一个是发送队列(h值和发送的内容的对应关系), 接收到的对方处理的h值; 接收到的最新的h值。对于client来说,比较关心的就是收到的h值,当connection断掉重连的时候,client可以给Server发送这个h值,然后Server可以把后续client没有处理的stanzas重新发送一遍。

 

4. resume过程

你可能感兴趣的:(xml,Stream,server,mobile,features,XMPP)