博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
agsxmpp 和 openfire 服务器 通信
阅读量:6891 次
发布时间:2019-06-27

本文共 826 字,大约阅读时间需要 2 分钟。

如题, 一直做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的 默认发式 改为 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);
     }

 

转载于:https://www.cnblogs.com/ilahsa/archive/2012/09/11/2680126.html

你可能感兴趣的文章
软件目录开发规范
查看>>
Apache Spark源码走读之22 -- 浅谈mllib中线性回归的算法实现
查看>>
compute post expression
查看>>
C#中DataTable中的Compute方法使用收集
查看>>
每天一道算法题(8)——把二元查找树转变成排序的双向链表
查看>>
Servlet使用注解标注监听器(Listener)
查看>>
[LeetCode] Ugly Number
查看>>
MacBook Touch Bar 使用技巧
查看>>
Python——特殊属性与方法
查看>>
Python pip 报错
查看>>
POJ2187:Beauty Contest——题解
查看>>
[BZOJ4404] [Neerc2015]Binary vs Decimal(BFS)
查看>>
es 剩余磁盘空间达到es最小值,添加数据被block
查看>>
第29件事 评估需求的8种方法
查看>>
安卓工程简介
查看>>
python基础===python内置函数大全
查看>>
Django form组件 与 cookie/session
查看>>
Java(Java SE7) 体系结构图
查看>>
安装多个版本的unity
查看>>
Unity 脚本的未来发展
查看>>