<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

    主站蜘蛛池模板: 97在线免费观看视频| 亚洲av无码专区国产不乱码| 一级毛片免费毛片毛片| 国产一级特黄高清免费大片| 亚洲色大成网站www永久男同| 人禽杂交18禁网站免费| 亚洲Av无码一区二区二三区| AA免费观看的1000部电影| 亚洲制服在线观看| 国产精品免费精品自在线观看| 亚洲黄网在线观看| 国产三级在线观看免费| 亚洲欧美日韩自偷自拍| 日韩成人免费在线| 一级毛片在线播放免费| 亚洲综合图色40p| 美女无遮挡拍拍拍免费视频| 亚洲精品色午夜无码专区日韩| 国内永久免费crm系统z在线 | 午夜两性色视频免费网站| 亚洲中文字幕无码爆乳app| 女人18毛片免费观看| 久久亚洲精品成人无码| 亚洲国产精品碰碰| 中文永久免费观看网站| 中文字幕亚洲精品资源网| 在线视频免费观看高清| 色天使亚洲综合一区二区| 久久亚洲AV永久无码精品| 国产精品免费高清在线观看| 亚洲国产精品成人综合久久久| 毛片基地免费视频a| 一级视频免费观看| 亚洲第一福利视频| 我要看免费的毛片| 一区二区三区免费精品视频| 亚洲电影中文字幕| 青青青青青青久久久免费观看 | 国产一区二区免费视频| 亚洲欧洲日本精品| 亚洲&#228;v永久无码精品天堂久久 |