J2ME如何通过cmwap直接访问互连网

1、 移动网关的作用
a)移动网关的主要作用是提高访问速度。因为客户请求的数据存于代理服务器的硬盘中,因此下次这个客户或其它客户再请求相同目的站点的数据时,就能直接从代理服务器的硬盘中读取,代理服务器起到了缓存的作用,但缓存却给开发人员造成障碍,如cookie缓存问题等。
b)获取手机用户数据,如手机号码等

在中国,中国移动为了一些特殊的需要,开发手机软件时需设置网关代理,这样却给开发带来不便。

2、J2me如何跨过网关
在J2ME网络编程中,一般需要设置CMWAP代理的方式连接网络,连接的代码和直接连接有所不同,下面是示例:
例如你需要访问的地址为:

http://www.test.com/login/loginServlet 

HttpConnection http = (HttpConnection)Connector.open("http://10.0.0.172:80/login/loginServlet"); 

http.setRequestProperty("X-Online-Host","www.test.com"); 

 

这种做法容易和手机的APN产生冲突,当用户不清楚cmwap或cmnet的连接方式时,会造成连网失败等问题,影响用户体验。更方便的方法可以用

 

HttpConnection http = (HttpConnection)Connector.open(("http://www.test.com/login/loginServlet");

 

这样方式(直接方式),实际手机能自动为程序设置代理,我们无需做更复杂地处理。

注:有些手机确实需要像例子那样设置。
      已在6120C,E71,P1C,7500手机测试通过。

 

导读
手机中的重定向问题及处理 http://fonter.iteye.com/blog/400836
J2ME开发中由WAP网关带来的cookie问题 http://fonter.iteye.com/blog/399105
安装JAD时提示JAD无效原因之一 http://fonter.iteye.com/blog/400888
J2ME网络交互之优化 http://fonter.iteye.com/blog/405137
解决Eclipse无法调试J2ME程序的配置方法 http://fonter.iteye.com/blog/405697

J2ME模拟器加载RMS时突然失效的原因 http://fonter.iteye.com/blog/407576

J2ME飞信协议分析(初稿) http://fonter.iteye.com/blog/408385

你可能感兴趣的:(eclipse,Blog,网络协议,中国移动,WAP)