饒榮慶 -- 您今天UCWEB了嗎?--http://www.ucweb.com

          3G 手機(jī)開發(fā)網(wǎng)

             :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            99 Posts :: 1 Stories :: 219 Comments :: 0 Trackbacks
          關(guān)鍵字: J2ME       

          在j2medev上見到一篇關(guān)于CMNET和CMWAP網(wǎng)絡(luò)連接。   現(xiàn)在我根據(jù)我的實(shí)際經(jīng)驗(yàn)總結(jié)下它們。
          1。CNNET,這個(gè)就不用怎么樣介紹了,跟電腦上Internet沒什么區(qū)別。
          直接用這個(gè)這樣的代碼就Ok了

           

          2。CNWAP,這個(gè)我的實(shí)踐結(jié)果根網(wǎng)上的很多介紹不同。看下面這段文字。下面摘自。在J2ME中使用CNWAP接入點(diǎn)聯(lián)網(wǎng)

          都是中國移動(dòng)搞出來的事情。
          所 以對(duì)于特定的一些機(jī)型,普通的直接聯(lián)網(wǎng)方式會(huì)出現(xiàn)連不上網(wǎng)絡(luò),這是因?yàn)槟愕氖謾C(jī)設(shè)備不支持CNNET的聯(lián)網(wǎng)方式。也許你會(huì)發(fā)現(xiàn)不經(jīng)過修改,直接連接的方式 也可以在一些cnwap的設(shè)備上(只支持cnwap的多為低端機(jī))運(yùn)行,這個(gè)是因?yàn)樵O(shè)備上應(yīng)中國一定的要求,在系統(tǒng)底層進(jìn)行了轉(zhuǎn)換,如果沒有轉(zhuǎn)換的話,就 必須你自己手動(dòng)在代碼里面顯式的來轉(zhuǎn)換了。
           
          這里我只打算給出一些示意代碼,用來輔助說明解決問題的方法
           
          假設(shè)你原來要請求的頁面是:htpp://www.testwap.com/test/try.jsp
          那么你會(huì)用這句話連接
          HttpConnection httpConnection = (HttpConnection)Connector.open(“http://www.testwap.com/test/try.jsp”);
           
          但是為了轉(zhuǎn)成CNWAP的聯(lián)網(wǎng)形式 你必須這么寫
          HttpConnection httpConnection = (HttpConnection)Connector.open(“http://10.0.0.172:80/test/try.jsp”);
          接著再寫
          httpConnection.setRequestProperty("X-Online-Hostwww.testwap.com");
          httpConnection.setRequestProperty("Accept","*/*"); 
          這樣就ok了
           
          不過這個(gè)方法在模擬器上沒辦法測試,因?yàn)槟M器移動(dòng)網(wǎng)關(guān)不讓你進(jìn)啊,所以寫代碼的時(shí)候用cnnet的正式發(fā)布的時(shí)候改成cnwap的。很麻煩
          代碼是
          java 代碼
           
          1. http =(HttpConnection)Connector.open("http://10.0.0.172:80/"+url,Connector.READ,true);  
          2.   
          3.      c.setRequestProperty("X-Online-Host",ServerName);  
          4.   
          5.      c.setRequestProperty("Accept", "*/*");  

          上面的代碼CNNET我試過,因?yàn)槲夷莻€(gè)足球項(xiàng)目需要采用Scoket,確實(shí)是只有CNNet能打開Socket。
          第二種,我卻意外發(fā)現(xiàn),我開發(fā)WapExporer進(jìn)行測試的時(shí)候,我沒有采用代理,也可以獲取連接。
          分析有以下幾種可能。
          1.移動(dòng)那邊可能對(duì)于CNNET來說,幾乎是對(duì)所有的協(xié)議進(jìn)行開放。比如(Socket,Http)跟所有端口。
          2.對(duì)于CNWAP,我估計(jì)只開放http協(xié)議以及80端口,其他的都封閉,也就是CNWAP只能訪問http協(xié)議。
             由于我測試的IP地址進(jìn)行測試,所以它可以直接找到。對(duì)于非IP地址我沒測試果。也許CNWAP不能解釋域名也說不定,這點(diǎn)我就不清楚了。
          java 代碼
           
        1. try {  
        2.              http = (HttpConnection) Connector.open(url);  
        3.         } catch (IOException e) {  
        4.            
        5.             e.printStackTrace();  



        6. 爬蟲工作室 -- 專業(yè)的手機(jī)軟件開發(fā)工作室
          3G視線 -- 專注手機(jī)軟件開發(fā)
          posted on 2007-04-13 12:45 3G工作室 閱讀(1544) 評(píng)論(0)  編輯  收藏 所屬分類: j2me
          主站蜘蛛池模板: 眉山市| 延寿县| 沅江市| 循化| 昌宁县| 阜宁县| 烟台市| 庆云县| 西盟| 杨浦区| 龙井市| 寻乌县| 通许县| 萝北县| 五原县| 兰坪| 夹江县| 长宁县| 邵阳县| 苍山县| 大宁县| 叶城县| 乐陵市| 黎城县| 河源市| 平顺县| 北海市| 溧水县| 凯里市| 曲沃县| 隆回县| 通渭县| 邹城市| 平江县| 石景山区| 通江县| 麻栗坡县| 尉犁县| 屏东市| 武城县| 海阳市|