新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 使用Socket連接穿越CMWAP代理

        使用Socket連接穿越CMWAP代理

        作者: 時間:2012-05-04 來源:網絡 收藏

        在J2ME網絡程序開發過程中,為了節約用戶支付的網絡費用,很多J2ME手機網絡程序都支持

        本文引用地址:http://www.104case.com/article/149133.htm

        但是由于只是中國移動建立的一個HTTP網絡服務器,所以在HTTP網絡編程中,可以很方便的。但是在socket方法操作時,這個方式好象就行不通了。

        下面就介紹一下如何使用socket。其實由于CMWAP是一個標準的HTTP服務器,也就是說可以處理任何的基于HTTP協議的轉發請求,那么就可以使用socket方式編程時使用HTTP協議即可了。

        實現原理:使用socket和CMWAP建立,然后將網絡協議設計成HTTP協議的格式,這樣CMWAP就可以繼續實現請求的轉發了,這就是實現的基本原理。

        當然,由于socket方式可以實現持續連接,這里的持續連接只存在于手機和CMWAP之間,但是可以只建立一次連接就實現多次的發送,還是基于請求-響應結構實現的,所以可以說實現了一部分socket的功能,而服務器端可以采用已有的HTTP服務器,從而降低開發成本和時間。

        該技術的優勢主要有以下幾點:

        u使用CMWAP進行數據傳輸,可以為用戶節約流量費用。

        u由于手機和CMWAP之間建立的是持續連接,所以可以提高網絡響應速度。

        u使用該方式,可以實現服務器端兼容HTTP連接和socket連接,也就是使用一組服務器,降低開發成本和減少開發時間。

        實現網絡操作的代碼如下所示:

        packagecmwaptest;

        importjava.io.*;

        importjavax.microedition.io.*;

        /**

        *測試使用socket連接CMWAP服務器

        */

        publicclassCmwapThreadextendsThread{

        CmwapFormcf;

        publicCmwapThread(CmwapFormcf){

        this.cf=cf;

        }

        publicvoidrun(){

        try{

        //測試

        cf.displayInfo(開始建立連接!);

        //使用代理連接

        Connectionsc=(Connection)Connector.open(socket://10.0.0.172:80);

        //測試

        cf.displayInfo(連接建立完畢!);

        //發送數據

        OutputStreamos=sc.openOutputStream();

        StringrequestLine=gethttp://www.freewebs.com/cqucyf/a.htmhttp/1.0rn;

        Stringheader=accept:*/*rnrn;

        os.write(requestLine.getBytes());

        os.write(header.getBytes());

        os.flush();

        //測試

        cf.displayInfo(數據發送完畢!);

        //接收數據

        InputStreamis=sc.openInputStream();

        byte[]data=newbyte[10240];

        intnum=is.read(data);

        //測試

        cf.displayInfo(數據接受完畢!+數據長度為:+num);

        //處理數據

        cf.doStr(data,num);

        sc.close();

        }catch(Exceptione){

        //e.printStackTrace();

        cf.doError(e.toString());

        }

        }

        }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石狮市| 南和县| 深水埗区| 探索| 三穗县| 湛江市| 莒南县| 阿勒泰市| 察隅县| 三门峡市| 峨山| 海宁市| 玉环县| 辉县市| 靖西县| 四川省| 乐业县| 蒲江县| 鲁山县| 庆云县| 丹东市| 英吉沙县| 富蕴县| 榆中县| 揭东县| 大连市| 绥江县| 宿迁市| 手机| 泗水县| 灵武市| 宝丰县| 淳化县| 闽清县| 镇安县| 藁城市| 石楼县| 奉化市| 常宁市| 永顺县| 峨眉山市|