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包。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM