<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    冰浪

    哥已不再年輕 - 堅定夢想,畢生追求!
    posts - 85, comments - 90, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    CMNET和CMWAP網絡連接

    Posted on 2009-04-09 09:11 冰浪 閱讀(216) 評論(0)  編輯  收藏 所屬分類: J2ME

          J2me上的GPRS網絡接入點有兩個,一個就是CMNET,一個就是CMWAP。一般移動夢網,百寶箱就是掛在CMWAP上的。

     

    CMNET

    CMNET就是一般的互聯網的網絡接入點。我們一般在SUN那里看到的J2ME實例代碼都是基于CMNET接入點的網絡下載。一般來說,CMNET可以連接所有的網絡站點。下面就是我在開發仙劍的CMNET的下載資源包的代碼片斷。

       /***************************************************************************

       * 下載網絡文件

       * @param url String 要下載的文件的地址URL

       * @return byte[] 如果下載成功,返回文件的字節緩沖;

       *             如果下載失敗,返回null

       */

     public byte[] download_CMNET(String url) {

        ContentConnection c;

        InputStream is = null;

        byte[] data = null;

        try {

           c= (ContentConnection)Connector.open("http://"+ServerName+"/"+url,Connector.READ,true);

           is = c.openInputStream();

           int dataLength = (int) c.getLength();

           if (dataLength == -1) {

             ByteArrayOutputStream bStrm = new ByteArrayOutputStream();

             int ch;

             while ( (ch = is.read()) != -1)

               bStrm.write(ch);

             data = bStrm.toByteArray();

             bStrm.close();

           }

           else {

             data = new byte[dataLength];

             Data_Read_Buf(is,data,0,dataLength);

           }

           is.close();

           c.close();

        }catch (Exception e) {

          data = null;

        }

        c= null;

        return data;

     }

     

    代碼很普通,不過需要注意的有以下兩點。

    1.       getLength()并不是一定都有效,比如我發現在Nokia 40的手機上這個函數有效,但是在Nokia 60的手機上,這個函數通常都無效。所以我們通常都必須要有另外一個下載方式,既是從while循環不斷從輸入流中一個一個讀byte,如果讀出為-1,則表示輸入流數據讀完。

    2.       Connector.open最后一個參數是表示是否允許timeout,通常我們都得設置true,因為GPRS網路經常中斷,那么必須有個timeout來退出連接。依照我的經驗,一般如果能夠執行完c.openInputStream()后,就表明連接上了,只要連接上后,數據的下載是比較快的(也就是說網絡連接是最慢的)。

     

    CMWAP

           MOTO的手機通常都是默認接入點就是CMWAP。在手機上的“網頁“->”網頁設定中可以設置默認的接入點。一般中國大陸的出產的MOTO手機都是設置的移動夢網”的網絡接入點,起始就是CMWAP接入點。而MOTO最可惡的一點就是一旦默認接入點是CMWAP,那么所有的J2ME應用程序都無法訪問CMNET。而Nokia 40雖然默認的接入點是CMWAP,但是運行中可以自動檢查CMNET來訪問CMNET

           解決MOTO的網絡連接有兩個辦法:

    1.       網頁“->”網頁設定中新建一個網頁,然后不需要填寫任何參數,設置成默認后,它就可以讓手機上J2ME程序通過CMNET訪問網絡了。

    2.       通過移動的代理來實現通過CMWAP訪問互聯網。下面是仙劍中使用CMWAP下載資源包的代碼片斷:

    /***************************************************************************

     * 下載網絡文件

     * @param url String 要下載的文件的地址URL

     * @return byte[] 如果下載成功,返回文件的字節緩沖;

     *             如果下載失敗,返回null

     */

     public byte[] download_CMWAP(String url) {

     HttpConnection c;

     InputStream is = null;

     byte[] data = null;

     try {

         c= (HttpConnection)Connector.open("http://10.0.0.172:80/"+url,Connector.READ,true);

         c.setRequestProperty("X-Online-Host",ServerName);

         c.setRequestProperty("Accept", "*/*");

         is = c.openInputStream();

         int dataLength = (int) c.getLength();

         if (dataLength == -1) {

           ByteArrayOutputStream bStrm = new ByteArrayOutputStream();

           int ch;

           while ( (ch = is.read()) != -1)

             bStrm.write(ch);

           data = bStrm.toByteArray();

           bStrm.close();

         }

         else {

           data = new byte[dataLength];

           Data_Read_Buf(is,data,0,dataLength);

         }

         is.close();

         c.close();

     }catch (Exception e) {

        data = null;

     }

     c= null;

     return data;

     }

    比如我們要下載

    http://xxx.xxx.xxx.xxx/BB/AA.dat,那么上面的ServerName= ”xxx.xxx.xxx.xxx”, url = ”BB/AA.dat”

    (注:轉于http://blog.csdn.net/tangl_99/archive/2004/11/18/185086.aspx

    主站蜘蛛池模板: 日韩精品无码免费一区二区三区 | 亚洲av丰满熟妇在线播放| 在线亚洲精品自拍| 亚洲天堂电影在线观看| 91制片厂制作传媒免费版樱花| 国产片免费在线观看| 亚洲精品乱码久久久久蜜桃| 久久久高清日本道免费观看| 中文字幕版免费电影网站| 免费特级黄毛片在线成人观看 | 亚洲AV无码乱码在线观看富二代 | 亚洲AV无码精品色午夜在线观看| 最近免费字幕中文大全| 久久久亚洲欧洲日产国码农村| 无码国产精品一区二区免费模式 | 无码天堂va亚洲va在线va| 16女性下面无遮挡免费| 亚洲无限乱码一二三四区| 欧美大尺寸SUV免费| 疯狂做受xxxx高潮视频免费| 亚洲国产中文字幕在线观看| 中文在线观看免费网站| 777亚洲精品乱码久久久久久| 可以免费看黄的网站| 亚洲精品美女在线观看| 国产一精品一AV一免费孕妇| 美女的胸又黄又www网站免费| 免费高清av一区二区三区| 免费播放国产性色生活片| 亚洲精品tv久久久久久久久| 国产特黄特色的大片观看免费视频| 亚洲午夜福利在线观看| 四虎在线成人免费网站| 在线观看亚洲电影| 国产aⅴ无码专区亚洲av| 一二三四视频在线观看中文版免费| 亚洲精品高清国产麻豆专区| 日韩特黄特色大片免费视频| 亚洲综合精品第一页| 永久免费看bbb| 特级精品毛片免费观看|