分享

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

 CevenCheng 2010-10-15

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

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

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

Java代码 
  1. http://www./login/loginServlet   
  2.   
  3. HttpConnection http = (HttpConnection)Connector.open("http://10.0.0.172:80/login/loginServlet");   
  4.   
  5. http.setRequestProperty("X-Online-Host","www.");   

 

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

 

Java代码 
  1. HttpConnection http = (HttpConnection)Connector.open(("http://www./login/loginServlet");  

 

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

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

 

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

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多