中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Smack IQ包的擴展

發布時間:2020-07-13 09:15:15 來源:網絡 閱讀:319 作者:zsdnr 欄目:網絡安全

如果我們要擴展一個如下所示的IQ包:

<iq id="0001" to="search@jiyq.cn" type=”get”>    <query xmls="emcc.jiyq" condition="what"/>
        <extrament>element</extrament>
    <query></iq>

需要定義一個自定義IQ進行擴展:

Smack IQ包的擴展

package com.emcc.stc.demo.iq;import org.jivesoftware.smack.packet.IQ;public class SampleIQ extends IQ
{
    String condition;
    String value;    protected SampleIQ(String childElementName, String childElementNamespace,
            String condition, String value)
    {        super(childElementName, childElementNamespace);        this.condition = condition;        this.value = value;
    }    /**
     * 最關鍵的實現類     */
    @Override    protected IQChildElementXmlStringBuilder getIQChildElementBuilder(
            IQChildElementXmlStringBuilder xml)
    {
        xml.attribute("condition", condition);
        xml.rightAngleBracket();
        xml.element("extraElement", "value");        return xml;
    }    public static void main(String[] args)
    {
        IQ iq = new SampleIQ("query", "emcc.jiyq", "what", "elemeng");
        System.out.println(iq.toXML());
    }
}

Smack IQ包的擴展

這種方式的好處是,每一種IQ都有特定定義,每個自定義IQ類都有其應用場景,而且無需再手動配置XML。

另外,可以編寫相應的IQParser解析特定類型的IQ包,更加利于使用。

最后,Smack的文檔是相當缺失的,很多問題,還是仔細閱讀源代碼比較好。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sa sm
AI

荆州市| 广州市| 德惠市| 厦门市| 衡东县| 崇明县| 温州市| 东乡族自治县| 五指山市| 独山县| 平乐县| 四子王旗| 万盛区| 土默特右旗| 南宁市| 襄垣县| 莱芜市| 翁源县| 屯门区| 密山市| 潜山县| 重庆市| 南溪县| 甘洛县| 林周县| 旺苍县| 宣恩县| 内乡县| 当阳市| 桐柏县| 高邮市| 浦东新区| 芮城县| 高雄县| 皋兰县| 大方县| 漳平市| 陵水| 万载县| 临夏县| 闻喜县|