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
1 楼 cqllang 2009-06-11 10.0.0.172