如题, 一直做c#, 最近做openfire 开发,所以我选择 agsxmpp 做测试的客户端,以下是遇到的问题及解决方法
1. openfire 发送数据流 是通过 PLAIN 的 , 而 agsxmpp 是默认是 通过DIGEST-MD5 发送2. openfire 发送iq节 不接收 to属性集体解决方案1. 修改 agsxmpp 里的Mechanism.cs 里 //case "DIGEST-MD5": //我加的 注释掉 case "DIGEST-MD5": 使plain 变为 默认设置 //return MechanismType.DIGEST_MD5; 注释 case “Digest-md5” ,从而把agsxmpp的 默认发式 改为 PLAIN2.修改 agsxmpp IqGrabber.cs 里的 public void SendIq(IQ iq, IqCB cb, object cbArg) 函数 修改后如: public void SendIq(IQ iq, IqCB cb, object cbArg) { // check if the callback is null, in case of wrong usage of this class if (cb != null) { TrackerData td = new TrackerData(); td.cb = cb; td.data = cbArg; m_grabbing[iq.Id] = td; //我加的代码 iq在agsxmpp中发送Iq节的时候先iq.RemoveAttribute("to") iq.RemoveAttribute("to"); } m_connection.Send(iq); }