中国移动支持两种网络传输cmwap、cmnet,其中cmnet就和PC一样,直接对目的地进行访问,并且支持socket;而cmwap则是通过移动的一台服务器进行代理,不支持socket,指支持http,支持任意格式的文本,比如后缀为.html的纯文本。一般的自动设置的都是cmwap,因为cmwap更为便宜,不过貌似听人说移动已经将两种的资费统一了,没查过。总之,在开发J2ME的网络传输时要着重考虑cmwap的兼容性。

  以下为cmnet访问百度的代码:

  conn = (HttpConnection)Connector.open("http://www.baidu.com/index.html",Connector.READ,true);

  以下为cmwap访问百度的代码:

  conn = (HttpConnection)Connector.open("http://10.0.0.172:80/index.html",Connector.READ,true);
  conn.setRequestProperty("X-Online-Host","www.baidu.com");

  (发现不同了吧,其他网站如何构造代码相信聪明的你一定知道了,对于这里要注意的有两点:一是如果要访问的页面非80端口,要写成conn.setRequestProperty("X-Online-Host","host:port"),二是cmwap不能在模拟器上运行,因为移动要检测手机来进行资费统计的,所以一般用cmnet在模拟上开发,再改完代码部署到手机上)

 

最近在做这块时部署到手机上发现无法运行,从晚上7点纠结到第二天3点,终于发现了两个悲剧的原因:1 我的sim卡取消了上网服务 2 apache-tomcat-5.5.31有bug,不能用手机访问,害我一直以为是非80端口不能访问,后来换上tomcat6就好了。

 

ps:pudn是个好地方,里面许多源码是外面找不到的,不过要收费,一些啃爹的代码竟然要100元宝=100RMB,不过可以在点开下面代码检查打开一睹为快O(∩_∩)O~

posted on 2011-09-17 22:12  云 溪  阅读(434)  评论(1编辑  收藏  举报