agsxmpp与Openfire联通

agsxmpp是一套用C#实现的开源XMPP协议库,Openfire是用c实现的xmpp服务器程序,两者互通存在一些问题,最基本的登录都不正常。经过对agsxmpp协议分析和跟踪,发现了两个问题:
1.认证协议
    agsxmpp在认证的时候,默认使用DIGEST-MD5,但是在Openfire下无法认证通过,改成PLAIN即可。
2.Iq节
    Openfire 不支持Iq节带 to 的属性,所以在agsxmpp中发送Iq节的时候先iq.RemoveAttribute("to")一下就行了。
    通过上述修改,成功的实现了agsxmpp的客户端演示程序和Openfire的互联互通。 下图是使用agsxmpp的客户端与Spark的互通。
agsxmpp与Openfire联通

你可能感兴趣的:(openfire)