利用cmwap连接自己的HTTP服务器

来源:互联网 发布:java二级考试题库 编辑:程序博客网 时间:2024/06/11 09:30
 cmnet连接互联网一直是一个非常简单和有效的方法,
但是由于移动方面,如果cmnet包月的话,就会和移动
gprs无线上网卡业务产生冲突.大家就不会选择那种
昂贵的无线上网卡服务了.所以cmnet的资费一直居
高不下.
但是对于cmwap接入的只支持http 1.1的gprs wap服务
来说,移动的策略却是非常宽松,可以允许15块钱包月流量
因此,对于symbian开发者来说,能够让你的程序支持
cmwap连接,进行数据通讯,是个非常重要的特性

很多朋友都在苦苦找寻可以替代cmnet建立http代理的方法
下面我就介绍一种方法:
首先需要明确的是,中国移动在全国对于cmwap接入的用户
采用了10.0.0.172这个固定ip做为http的代理,我们只要把
手机的HTTP的请求直接发送到10.0.0.172的80端口,它就会
替我们做转发操作.

好了,下面就是一段测试的代码,首先要建立RSocket与10.0.0.172服务器
的80端口的tcp连接,然后就是发送GET或者POST的HTTP请求了.

//Connect to proxy server 10.0.0.172:80 by using socket.ConnectL();
//When connected, send the request to the proxy server
_LIT8(KURL,"GET http://222.222.222.222:8080/portal.jsp?param=aaa/r/n Http/1.1");
_LIT8(KHOST, "222.222.222.222:8080/r/n");
_LIT8(KOTHERS, "Accept: */*/r/nUser-Agent: Nokia7610/r/nConnection: close/r/n/r/n");
sendbuf.Append(KURL);
sendbuf.Append(KHOST);
sendbuf.Append(_L8("Content-Type: application/x-www-form-urlencoded;charset=8859_1/r/n"));
sendbuf.Append(KOTHERS);
//send request
socket.WriteL(sendbuf);

接收Socket返回的数据,判断是否包含“200 OK”,截取2个换行符(/r/n)后面的内容,
就是服务器返回的内容数据。
只要写好socket收发数据的引擎,你的程序也可以使用cmwap做廉价的通讯的.
感兴趣的朋友可以试试.
原创粉丝点击