当前位置:编程学习 > C#/ASP.NET >>

agsxmpp client 连接openfire

agsxmpp 连接openfire
需修改源代码如下:
1. 修改 agsxmpp 里的Mechanism.cs 里 
                     //case "DIGEST-MD5": //注释掉  case "DIGEST-MD5": 使plain 变为   默认设置
                    //return MechanismType.DIGEST_MD5;

注释 case “Digest-md5” ,从而把agsxmpp的 默认发式 改为 PLAIN

2.修改 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);
     }
 
3.openfire XMPP办事器默认只监听IPV4的地址,而agsxmpp连接办事器时辰选择的是IPV6版本的地址
修改ClientSocket.cs里的  IPAddress ipAddress =ipHostInfo.AddressList[0]; 改为 IPAddress ipAddress = ipHostInfo.AddressList[2];
不然会出现 服务器拒绝访问的错误
 

补充:软件开发 , C# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,