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的互通。
转载于:https://www.cnblogs.com/nevermad/archive/2009/11/19/1606075.html