亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cwspcapabilities.java~3~

?? jwap 協議 udp 可以用于手機通訊
?? JAVA~3~
字號:
/** * JWAP - A Java Implementation of the WAP Protocols * Copyright (C) 2001-2004 Niko Bender * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */package net.sourceforge.jwap.wsp.pdu;import net.sourceforge.jwap.util.*;import java.util.*;/** * Capabilities allow the client to negotiate characteristics * and extended behaviours of the protocol (see section 8.3 of the WSP spec.). */public class CWSPCapabilities {    /**     * Table 37     */    public static final short TYPE_clientSDUSize = 0x00;    public static final short TYPE_serverSDUSize = 0x01;    public static final short TYPE_protocolOptions = 0x02;    public static final short TYPE_methodMOR = 0x03;    public static final short TYPE_pushMOR = 0x04;    public static final short TYPE_extendedMethods = 0x05;    public static final short TYPE_headerCodePages = 0x06;    public static final short TYPE_aliases = 0x07;    public static final short TYPE_clientMessageSize = 0x08;    public static final short TYPE_serverMessageSize = 0x09;    /**     * section 8.3.2.3     */    public static final short OPTION_CONF_PUSH_FACILITY = 0x80;    public static final short OPTION_PUSH_FACILITY = 0x40;    public static final short OPTION_SESSION_RESUME_FACILITY = 0x20;    public static final short OPTION_ACK_HEADERS = 0x10;    public static final short OPTION_LARGE_DATA_TRANSFER = 0x08;    /**     * section 8.3.2.1     * unintvar     */    private long clientSDUSize = 1400;    private boolean bClientSDUSize = false;    private long serverSDUSize = 1400;    private boolean bServerSDUSize = false;    /**     * section 8.3.2.3     * one octet     */    private long protocolOptions = 0x00;    private boolean bProtocolOptions = false;    /**     * section 8.3.2.4     * uint8     */    private long methodMOR = 1;    private boolean bMethodMOR = false;    private long pushMOR = 1;    private boolean bPushMOR = false;    /**     * section 8.3.2.5     * uint8     * multiple octets     */    private Hashtable extendedMethods = new Hashtable();    /**     * section 8.3.2.6     * uint8     * multiple octets     */    private Hashtable headerCodePages = new Hashtable();    /**     * section 8.3.2.7     * multiple octets     * encoded as redirect address in sec. 8.2.2.3     *     * BearerTypeIncluded, PortNumberIncluded, AddressLength     */    Vector aliases = new Vector();    /**     * section 8.3.2.2     * unintvar     */    private long clientMessageSize = 1400;    private boolean bClientMessageSize = false;    private long serverMessageSize = 1400;    private boolean bServerMessageSize = false;    /////////////////////////////////////////////////////////////////////////////    //////////////////////////////// GET/SET ////////////////////////////////////    public void setClientSDUSize(long clientSDUSize) {        this.clientSDUSize = clientSDUSize;        this.bClientSDUSize = true;    }    public long getClientSDUSize() {        return clientSDUSize;    }    public void setServerSDUSize(long serverSDUSize) {        this.serverSDUSize = serverSDUSize;        this.bServerSDUSize = true;    }    public long getServerSDUSize() {        return serverSDUSize;    }    /**     * set a protocoloption     * use constans in this class beginning with "OPTION_"     */    public void setProtocolOption(short option, boolean on_off) {        if (on_off) {            if (!getProtocolOption(option)) {                this.bProtocolOptions = true;                protocolOptions += option;            }        } else {            if (getProtocolOption(option)) {                protocolOptions -= option;            }        }    }    /**     * is the Option <code>option</code> set?     * use constants in this class beginnig with "OPTION_"     */    public boolean getProtocolOption(short option) {        BitSet s = BitArrayOutputStream.getBitSet(getProtocolOptions());        return s.get((int) (Math.log(option) / Math.log(2)));    }    public byte getProtocolOptions() {        BitArrayOutputStream m = new BitArrayOutputStream();        m.write(protocolOptions, 8);        byte[] b = m.toByteArray();        return b[0];    }    public void setMethodMOR(long methodMOR) {        this.methodMOR = methodMOR;        this.bMethodMOR = true;    }    public long getMethodMOR() {        return methodMOR;    }    public void setPushMOR(long pushMOR) {        this.pushMOR = pushMOR;        this.bPushMOR = true;    }    public long getPushMOR() {        return pushMOR;    }    public Hashtable getExtendedMethods() {        return extendedMethods;    }    public boolean addExtendedMethod(long pduType, String name) {        Long toAdd = new Long(pduType);        Enumeration keys = extendedMethods.keys();        while (keys.hasMoreElements()) {            Long akt = (Long) (keys.nextElement());            if (toAdd.equals(akt)) {                return false;            }        }        extendedMethods.put(new Long(pduType), name);        return true;    }    public boolean removeExtendedMethod(long pduType) {        Long search = new Long(pduType);        Enumeration keys = extendedMethods.keys();        while (keys.hasMoreElements()) {            Long akt = (Long) (keys.nextElement());            if (search.equals(akt)) {                extendedMethods.remove(akt);                return true;            }        }        return false;    }    public Hashtable getHeaderCodePages() {        return headerCodePages;    }    /**     * add a header code page     */    public boolean addHeaderCodePage(long pageCode, String name) {        Long toAdd = new Long(pageCode);        Enumeration keys = headerCodePages.keys();        while (keys.hasMoreElements()) {            Long akt = (Long) (keys.nextElement());            if (toAdd.equals(akt)) {                return false;            }        }        headerCodePages.put(toAdd, name);        return true;    }    /**     * remove a header code page if it exists.     */    public boolean removeHeaderCodePage(long pageCode) {        Long search = new Long(pageCode);        Enumeration keys = headerCodePages.keys();        while (keys.hasMoreElements()) {            Long akt = (Long) (keys.nextElement());            if (search.equals(akt)) {                headerCodePages.remove(akt);                return true;            }        }        return false;    }    public Vector getAliases() {        return aliases;    }    /**     * add a alias (alternate address of the sender)     */    public boolean addAlias(boolean bearerTypeIncluded,        boolean portNumberIncluded, short bearerType, int portNumber,        String bearerAddressToUse) {        CWSPAddress toAdd = new CWSPAddress(bearerTypeIncluded,                portNumberIncluded, bearerType, portNumber, bearerAddressToUse);        for (int i = 0; i < aliases.size(); i++) {            CWSPAddress search = (CWSPAddress) aliases.elementAt(i);            if (search.equals(toAdd)) {                return false;            }        }        aliases.add(toAdd);        return true;    }    /**     * remove a alias using the values as given     */    public boolean removeAlias(boolean bearerTypeIncluded,        boolean portNumberIncluded, short bearerType, int portNumber,        String bearerAddressToUse) {        CWSPAddress toRemove = new CWSPAddress(bearerTypeIncluded,                portNumberIncluded, bearerType, portNumber, bearerAddressToUse);        for (int i = 0; i < aliases.size(); i++) {            CWSPAddress search = (CWSPAddress) aliases.elementAt(i);            if (search.equals(toRemove)) {                aliases.remove(search);                return true;            }        }        return false;    }    public long getClientMessageSize() {        return clientMessageSize;    }    public void setClientMessageSize(long size) {        clientMessageSize = size;        this.bClientMessageSize = true;    }    public long getServerMessageSize() {        return serverMessageSize;    }    public void setServerMessageSize(long size) {        serverMessageSize = size;        this.bServerMessageSize = true;    }    /**     * encode all capabilities in a byte array     * according to WAP-230-WSP-20010705-a section 8.3 "capability encoding"     *     * @return The encoded bytes     */    public byte[] getBytes() {        BitArrayOutputStream result = new BitArrayOutputStream();        BitArrayOutputStream tmp = new BitArrayOutputStream();        byte[] tmp2;        if (this.bClientSDUSize) {            tmp.write(TYPE_clientSDUSize + 0x80, 8);            tmp.writeUintVar(clientSDUSize);            tmp2 = tmp.toByteArray();            result.writeUintVar(tmp2.length);            result.write(tmp2);        }        if (bServerSDUSize) {            tmp.reset();            tmp.write(TYPE_serverSDUSize + 0x80, 8);            tmp.writeUintVar(serverSDUSize);            tmp2 = tmp.toByteArray();            result.writeUintVar(tmp2.length);            result.write(tmp2);        }        if (bClientMessageSize) {            tmp.reset();            tmp.write(TYPE_clientMessageSize + 0x80, 8);            tmp.writeUintVar(clientMessageSize);            tmp2 = tmp.toByteArray();            result.writeUintVar(tmp2.length);            result.write(tmp2);        }        if (bServerMessageSize) {            tmp.reset();            tmp.write(TYPE_serverMessageSize + 0x80, 8);            tmp.writeUintVar(serverMessageSize);            tmp2 = tmp.toByteArray();            result.writeUintVar(tmp2.length);            result.write(tmp2);        }        if (bProtocolOptions) {            tmp.reset();            tmp.write(TYPE_protocolOptions + 0x80, 8);            tmp.write(protocolOptions, 8);            tmp2 = tmp.toByteArray();            result.writeUintVar(tmp2.length);            result.write(tmp2);        }        if (bMethodMOR) {            tmp.reset();            tmp.write(TYPE_methodMOR + 0x80, 8);            tmp.writeUintVar(methodMOR);            tmp2 = tmp.toByteArray();            result.writeUintVar(tmp2.length);            result.write(tmp2);        }        if (bPushMOR) {            tmp.reset();            tmp.write(TYPE_pushMOR + 0x80, 8);            tmp.writeUintVar(pushMOR);            tmp2 = tmp.toByteArray();            result.writeUintVar(tmp2.length);            result.write(tmp2);        }        if (!extendedMethods.isEmpty()) {            Enumeration keys = extendedMethods.keys();            while (keys.hasMoreElements()) {                tmp.reset();                Object key = keys.nextElement();                tmp.write(TYPE_extendedMethods + 0x80, 8);                tmp.write(((Long) key).longValue(), 8);                String value = (String) (extendedMethods.get(key));                tmp.write(value.getBytes());                tmp.write(0x00, 8);                tmp2 = tmp.toByteArray();                result.writeUintVar(tmp2.length);                result.write(tmp2);            }        }        if (!headerCodePages.isEmpty()) {            Enumeration keys = extendedMethods.keys();            while (keys.hasMoreElements()) {                tmp.reset();                Object key = keys.nextElement();                tmp.write(TYPE_headerCodePages + 0x80, 8);                tmp.write(((Long) key).longValue(), 8);                String value = (String) (extendedMethods.get(key));                tmp.write(value.getBytes());                tmp.write(0x00, 8);                tmp2 = tmp.toByteArray();                result.writeUintVar(tmp2.length);                result.write(tmp2);            }        }        if (!aliases.isEmpty()) {            for (int i = 0; i < aliases.size(); i++) {                tmp.reset();                CWSPAddress address = (CWSPAddress) aliases.elementAt(i);                tmp.write(TYPE_aliases + 0x80, 8);                tmp.write(address.getBytes());                tmp2 = tmp.toByteArray();                result.writeUintVar(tmp2.length);                result.write(tmp2);            }        }        return result.toByteArray();    }    /**     * Test method     *     * @param args ignored     */    public static void main(String[] args) {        CWSPCapabilities c = new CWSPCapabilities();        c.setProtocolOption(OPTION_PUSH_FACILITY, true);        c.setProtocolOption(OPTION_LARGE_DATA_TRANSFER, true);        byte b = c.getProtocolOptions();        System.out.println(BitArrayOutputStream.getBitString(b));    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区伦理片| 亚洲制服丝袜一区| 欧美在线|欧美| 国产资源精品在线观看| 亚洲视频一区在线| 精品理论电影在线| 欧美日韩一区小说| 成人久久久精品乱码一区二区三区| 午夜视频久久久久久| 中文字幕永久在线不卡| 日韩久久精品一区| 欧美性大战xxxxx久久久| 国产主播一区二区| 婷婷开心久久网| 国产精品国产三级国产有无不卡 | 日韩av中文在线观看| 中文字幕一区二区三区精华液| 日韩一区二区三区四区五区六区| 一本到不卡精品视频在线观看| 国产高清亚洲一区| 日本大胆欧美人术艺术动态| 亚洲与欧洲av电影| 综合久久国产九一剧情麻豆| 久久精品日韩一区二区三区| 日韩欧美国产wwwww| 欧美日韩一区二区三区四区| 色综合天天综合网天天狠天天| 国产福利精品一区| 久久爱www久久做| 首页国产欧美久久| 午夜伊人狠狠久久| 一片黄亚洲嫩模| 一区二区三区四区在线播放| 亚洲视频一二三| 国产精品每日更新| 国产欧美一二三区| 欧美激情一区不卡| 久久综合久久久久88| 在线不卡一区二区| 欧美午夜电影网| 欧美色图一区二区三区| 欧美综合一区二区三区| 欧洲av在线精品| 在线观看日产精品| 欧美日韩中文字幕精品| 91国内精品野花午夜精品| 色综合久久综合| 欧美三级视频在线| 欧美丰满嫩嫩电影| 日韩一区二区在线观看视频播放| 91精品国产综合久久久蜜臀粉嫩| 欧美一区二区三区在线看| 日韩一区二区三区在线视频| 欧美电影免费观看高清完整版在| 欧美成人精品福利| 久久久久久久久久久黄色| 国产欧美日韩卡一| 亚洲天堂成人在线观看| 亚洲综合区在线| 日韩精品电影在线| 国产一区二区三区精品视频| 懂色av一区二区夜夜嗨| 99精品黄色片免费大全| 欧美三级电影一区| 精品国产区一区| 中文字幕av一区二区三区| 亚洲视频一区在线观看| 亚洲v中文字幕| 久久丁香综合五月国产三级网站| 国产乱子轮精品视频| 成人短视频下载 | 欧美xxxxx牲另类人与| 国产女主播一区| 一区二区三区精密机械公司| 亚洲第一在线综合网站| 玖玖九九国产精品| 成人性视频网站| 欧美午夜精品久久久| 日韩女优av电影| 国产精品网站一区| 亚洲动漫第一页| 国产在线精品一区在线观看麻豆| av高清不卡在线| 欧美一区二区三区色| 国产精品三级视频| 偷窥国产亚洲免费视频| 岛国av在线一区| 欧美性猛交xxxxxx富婆| 久久久久免费观看| 亚洲韩国精品一区| 国产精品一二三四| 在线亚洲人成电影网站色www| 欧美一级搡bbbb搡bbbb| 亚洲国产精品高清| 日本伊人午夜精品| 成人av网站在线| 日韩三级视频在线看| 自拍av一区二区三区| 精品亚洲成av人在线观看| 精品视频一区三区九区| 中文一区在线播放| 久久精品国产99久久6| 色香蕉成人二区免费| 国产三级欧美三级日产三级99| 日韩精品免费专区| 欧美色区777第一页| 国产精品美日韩| 日韩精品91亚洲二区在线观看 | 99在线精品观看| 久久九九国产精品| 蜜臀久久久久久久| 欧洲精品在线观看| 亚洲免费观看高清完整| 岛国精品在线播放| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲成人黄色小说| 国产综合成人久久大片91| 欧美色视频在线观看| 亚洲欧美另类久久久精品2019| 精品一区二区三区在线视频| 日本高清不卡一区| 国产亚洲欧美一区在线观看| 亚洲精品菠萝久久久久久久| 国产成人午夜片在线观看高清观看| 9191久久久久久久久久久| 17c精品麻豆一区二区免费| 精品午夜一区二区三区在线观看| 日韩午夜电影在线观看| 亚洲综合在线免费观看| 成人av资源站| 国产日韩欧美不卡| 亚洲午夜久久久久中文字幕久| 色综合中文字幕国产| 欧美猛男男办公室激情| 综合久久一区二区三区| 成人免费av资源| 欧美精品v日韩精品v韩国精品v| 国产欧美一区二区精品久导航 | 激情深爱一区二区| 制服丝袜一区二区三区| 亚洲欧洲国产日韩| 91视频com| 亚洲欧洲综合另类| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美电影免费提供在线观看| 日日摸夜夜添夜夜添精品视频| 91精品婷婷国产综合久久| 亚洲一区二区三区中文字幕 | 成人91在线观看| 欧美日韩一区二区三区在线看| 午夜av一区二区三区| 91福利视频在线| 亚洲午夜影视影院在线观看| 欧美偷拍一区二区| 丝袜亚洲另类丝袜在线| 91麻豆精品国产91久久久久久| 极品少妇xxxx精品少妇| 91精品麻豆日日躁夜夜躁| 亚洲午夜三级在线| 欧美美女bb生活片| 亚洲午夜视频在线观看| 欧美另类变人与禽xxxxx| 热久久一区二区| 精品日韩一区二区三区免费视频| 久久精品国产久精国产| 欧美日韩精品欧美日韩精品 | 欧美日韩电影在线播放| 日韩黄色片在线观看| 日韩一区二区在线观看视频播放| 久久国产精品99久久久久久老狼| 国产女主播在线一区二区| 91一区二区在线| 一区二区三区欧美| 欧美日本国产一区| 免费成人深夜小野草| 国产精品美女久久福利网站| 一本久久a久久精品亚洲| 亚洲国产sm捆绑调教视频| 制服丝袜一区二区三区| 精东粉嫩av免费一区二区三区| 精品动漫一区二区三区在线观看| 国内久久精品视频| 亚洲国产电影在线观看| 91黄色激情网站| 看片网站欧美日韩| 亚洲免费av高清| 日韩一级在线观看| 成人精品鲁一区一区二区| 亚洲精品视频在线| 久久亚洲私人国产精品va媚药| 懂色av中文字幕一区二区三区| 亚洲精品视频在线| www激情久久| 欧美乱妇一区二区三区不卡视频| 国产伦精品一区二区三区视频青涩| 亚洲美女一区二区三区| 日韩欧美一级在线播放| 欧美伊人精品成人久久综合97 | 久久久久久久精| 欧美色区777第一页|