zoukankan      html  css  js  c++  java
  • agsxmpp 和 openfire 服务器 通信

    如题, 一直做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);
         }

  • 相关阅读:
    C语言编程练习4:镂空三角形
    C语言编程练习3:小明的18岁生日
    C语言编程练习2:放大的X
    C语言编程练习1:打印数字图形
    Hexo+Github搭建个人博客
    报表
    唐人街探案
    窗体
    ACCESS SQL
    交叉表
  • 原文地址:https://www.cnblogs.com/ilahsa/p/2680126.html
Copyright © 2011-2022 走看看