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

          3G 手機開發網

             :: 首頁 :: 聯系 :: 聚合  :: 管理
            99 Posts :: 1 Stories :: 219 Comments :: 0 Trackbacks
          關鍵字: J2ME       

          在j2medev上見到一篇關于CMNET和CMWAP網絡連接。   現在我根據我的實際經驗總結下它們。
          1。CNNET,這個就不用怎么樣介紹了,跟電腦上Internet沒什么區別。
          直接用這個這樣的代碼就Ok了

           

          2。CNWAP,這個我的實踐結果根網上的很多介紹不同??聪旅孢@段文字。下面摘自。在J2ME中使用CNWAP接入點聯網

          都是中國移動搞出來的事情。
          所 以對于特定的一些機型,普通的直接聯網方式會出現連不上網絡,這是因為你的手機設備不支持CNNET的聯網方式。也許你會發現不經過修改,直接連接的方式 也可以在一些cnwap的設備上(只支持cnwap的多為低端機)運行,這個是因為設備上應中國一定的要求,在系統底層進行了轉換,如果沒有轉換的話,就 必須你自己手動在代碼里面顯式的來轉換了。
           
          這里我只打算給出一些示意代碼,用來輔助說明解決問題的方法
           
          假設你原來要請求的頁面是:htpp://www.testwap.com/test/try.jsp
          那么你會用這句話連接
          HttpConnection httpConnection = (HttpConnection)Connector.open(“http://www.testwap.com/test/try.jsp”);
           
          但是為了轉成CNWAP的聯網形式 你必須這么寫
          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了
           
          不過這個方法在模擬器上沒辦法測試,因為模擬器移動網關不讓你進啊,所以寫代碼的時候用cnnet的正式發布的時候改成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我試過,因為我那個足球項目需要采用Scoket,確實是只有CNNet能打開Socket。
          第二種,我卻意外發現,我開發WapExporer進行測試的時候,我沒有采用代理,也可以獲取連接。
          分析有以下幾種可能。
          1.移動那邊可能對于CNNET來說,幾乎是對所有的協議進行開放。比如(Socket,Http)跟所有端口。
          2.對于CNWAP,我估計只開放http協議以及80端口,其他的都封閉,也就是CNWAP只能訪問http協議。
             由于我測試的IP地址進行測試,所以它可以直接找到。對于非IP地址我沒測試果。也許CNWAP不能解釋域名也說不定,這點我就不清楚了。
          java 代碼
           
        1. try {  
        2.              http = (HttpConnection) Connector.open(url);  
        3.         } catch (IOException e) {  
        4.            
        5.             e.printStackTrace();  



        6. 爬蟲工作室 -- 專業的手機軟件開發工作室
          3G視線 -- 專注手機軟件開發
          posted on 2007-04-13 12:45 3G工作室 閱讀(1542) 評論(0)  編輯  收藏 所屬分類: j2me
          主站蜘蛛池模板: 杭锦旗| 衡东县| 松阳县| 罗山县| 长岭县| 大邑县| 涞源县| 桦川县| 永泰县| 大新县| 海淀区| 隆尧县| 西城区| 漯河市| 克什克腾旗| 沁阳市| 珲春市| 金溪县| 卓资县| 永川市| 南陵县| 昌吉市| 诏安县| 德昌县| 容城县| 四平市| 九龙县| 穆棱市| 宜州市| 财经| 周宁县| 安塞县| 张掖市| 长乐市| 上犹县| 铁岭市| 武夷山市| 全南县| 辽中县| 武邑县| 伊宁县|