agsxmpp client 连接openfire

本文介绍如何通过修改agsxmpp源代码来成功连接OpenFire XMPP服务器。主要涉及更改默认认证方式为PLAIN、调整Iq消息发送流程及修正IPv6地址问题。

 

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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值