日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]使用Socket連接穿越CMWAP代理

在J2ME網(wǎng)絡(luò)程序開發(fā)過程中,為了節(jié)約用戶支付的網(wǎng)絡(luò)費用,很多J2ME手機網(wǎng)絡(luò)程序都支持CMWAP代理。

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

下面就介紹一下如何使用socket連接來穿越CMWAP代理。其實由于CMWAP是一個標(biāo)準(zhǔn)的HTTP代理服務(wù)器,也就是說可以處理任何的基于HTTP協(xié)議的轉(zhuǎn)發(fā)請求,那么就可以使用socket方式編程時使用HTTP協(xié)議即可了。

實現(xiàn)原理:使用socket和CMWAP建立連接,然后將網(wǎng)絡(luò)協(xié)議設(shè)計成HTTP協(xié)議的格式,這樣CMWAP就可以繼續(xù)實現(xiàn)請求的轉(zhuǎn)發(fā)了,這就是實現(xiàn)的基本原理。

當(dāng)然,由于socket連接方式可以實現(xiàn)持續(xù)連接,這里的持續(xù)連接只存在于手機和CMWAP之間,但是可以只建立一次連接就實現(xiàn)多次的發(fā)送,還是基于請求-響應(yīng)結(jié)構(gòu)實現(xiàn)的,所以可以說實現(xiàn)了一部分socket的功能,而服務(wù)器端可以采用已有的HTTP服務(wù)器,從而降低開發(fā)成本和時間。

該技術(shù)的優(yōu)勢主要有以下幾點:

u使用CMWAP進(jìn)行數(shù)據(jù)傳輸,可以為用戶節(jié)約流量費用。

u由于手機和CMWAP之間建立的是持續(xù)連接,所以可以提高網(wǎng)絡(luò)響應(yīng)速度。

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

實現(xiàn)網(wǎng)絡(luò)操作的代碼如下所示:

packagecmwaptest;

importjava.io.*;

importjavax.microedition.io.*;

/**

*測試使用socket連接穿越CMWAP服務(wù)器

*/

publicclassCmwapThreadextendsThread{

CmwapFormcf;

publicCmwapThread(CmwapFormcf){

this.cf=cf;

}

publicvoidrun(){

try{

//測試

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

//使用代理連接

SocketConnectionsc=(SocketConnection)Connector.open("socket://10.0.0.172:80");

//測試

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

//發(fā)送數(shù)據(jù)

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("數(shù)據(jù)發(fā)送完畢!");

//接收數(shù)據(jù)

InputStreamis=sc.openInputStream();

byte[]data=newbyte[10240];

intnum=is.read(data);

//測試

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

//處理數(shù)據(jù)

cf.doStr(data,num);

sc.close();

}catch(Exceptione){

//e.printStackTrace();

cf.doError(e.toString());

}

}

}

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉