程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> agsxmpp client 連接openfire

agsxmpp client 連接openfire

編輯:C#入門知識

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];
不然會出現 服務器拒絕訪問的錯誤
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved