zoukankan      html  css  js  c++  java
  • Android IQ包 发送 基于XMPP

      1.IQ包的一个例子:

    <iq id="xxx" type="get" 'to="xx" from="xx"><name xmlns="xxxx">hello world</iq>

      2.首先要写一个IQ包,如果你想给Openfire过滤的话,最好自定义一个命名空间就像上面那个例子那样,红色部分那些东西。蓝色部分为你要添加进去的内容。

      3.下面是IQ包的创建问题。

     1 package com.xmpp.iq;
     2 
     3 import org.jivesoftware.smack.packet.IQ;
     4 
     5 public class SimpleIQ extends IQ {
     6 
     7     // the childElement of this IQ,set position info
     8         private String positionElement;
     9         private static  String INDEX_XMLNS="simple:simple";
    10         
    11     
    12     // constructor
    13     public SimpleIQ(String element) {
    14         
    15         setDefaultXmlns(INDEX_XMLNS);
    16         setPositionElement(element);
    17         toXML();
    18     }
    19 
    20     //get and set
    21     public String getPositionElement() {
    22         return positionElement;
    23     }
    24 
    25 
    26     public void setPositionElement(String positionElement) {
    27         this.positionElement = positionElement;
    28     }
    29     //get and set end
    30     
    31     
    32     //最重要的是这里了,其他可以无视,你这里返回的是IQ父节点里面的内容,里面你喜欢做什么就做什么,你可以加节点进去,比如我return "<myNode xmlns='simple:simple'/>"+"x,y
          z,a,b,c" ,这个IQ包解析成XML就会变成这样
          <iq id="xxx" type="get" 'to="xx" from="xx"><myNode xmlns='simple:simple'/>x,y,z,a,b,c</iq>
        

    33 @Override 34 public String getChildElementXML() { 35 // TODO Auto-generated method stub 36 return getPositionElement(); 37 } 38 39 }

     最后理解了这个东西的话,就没有什么大问题了。还有如果要接受IQ包的话,就要写个类实现IQProvider这个借口了,用他来解释IQ包。

  • 相关阅读:
    java 数组的定义
    java 流程控制语句
    java 跳转语句(break、continue)
    java 循环嵌套
    java连接数据库
    用JAVA给数据库增加和修改数据代码
    简单匿名内部类的写法
    抽象类的定义以及简单代码
    继承多态的简单代码
    单例模式
  • 原文地址:https://www.cnblogs.com/jarrah/p/2457350.html
Copyright © 2011-2022 走看看