posts - 33,comments - 21,trackbacks - 0

          原作:http://www.javaeye.com/topic/44418???? 作者:wuhua

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

          java 代碼

          1. try?{??
          2. ?????????????http?=?(HttpConnection)?Connector.open(url);??
          3. ????????}?catch?(IOException?e)?{??
          4. ????????????e.printStackTrace();??
          5. }??

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

          都是中國移動搞出來的事情。

          所以對于特定的一些機(jī)型,普通的直接聯(lián)網(wǎng)方式會出現(xiàn)連不上網(wǎng)絡(luò),這是因?yàn)槟愕氖謾C(jī)設(shè)備不支持CMNET的聯(lián)網(wǎng)方式。也許你會發(fā)現(xiàn)不經(jīng)過修改,直接連接的方式也可以在一些cnwap的設(shè)備上(只支持cnwap的多為低端機(jī))運(yùn)行,這個是因?yàn)樵O(shè)備上應(yīng)中國一定的要求,在系統(tǒng)底層進(jìn)行了轉(zhuǎn)換,如果沒有轉(zhuǎn)換的話,就必須你自己手動在代碼里面顯式的來轉(zhuǎn)換了。

          這里我只打算給出一些示意代碼,用來輔助說明解決問題的方法

          假設(shè)你原來要請求的頁面是:htpp://www.testwap.com/test/try.jsp

          那么你會用這句話連接

          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了

          不過這個方法在模擬器上沒辦法測試,因?yàn)槟M器移動網(wǎng)關(guān)不讓你進(jìn)啊,所以寫代碼的時(shí)候用cmnet的正式發(fā)布的時(shí)候改成cnwap的。很麻煩
          代碼是

          java 代碼

          1. http =(HttpConnection)Connector.open("http://10.0.0.172:80/"+url,Connector.READ,true);??
          2. ?????c.setRequestProperty("X-Online-Host",ServerName);??
          3. ?????c.setRequestProperty("Accept",?"*/*");??

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

          posted on 2007-03-16 17:34 英明 閱讀(1283) 評論(0)  編輯  收藏 所屬分類: J2ME
          主站蜘蛛池模板: 昭平县| 津市市| 西盟| 织金县| 凭祥市| 邵武市| 建湖县| 大宁县| 炉霍县| 常山县| 屯门区| 昆山市| 广水市| 邛崃市| 鄯善县| 台南市| 浑源县| 天台县| 民权县| 澄江县| 岐山县| 苍溪县| 平安县| 巧家县| 泰顺县| 读书| 靖州| 三原县| 湖南省| 五河县| 汉源县| 沙河市| 乐至县| 清苑县| 光泽县| 南召县| 城固县| 敦煌市| 克什克腾旗| 扶余县| 连平县|