【分享】 BlackBerry上中国移动的WAP网关连接技巧

hyewzlsu 2010-08-25 11:28:31
加精
首先解释一下,中国移动提供CMNET和CMWAP两个APN,本质上,这两个APN其实本应没有区别,但是运营商从商业角度出发,从以下两方面来定位这二者:

1,采用不同的计费方式,不包月的情况下,CMNET有可能收费更高

2,网络接入的授权不同,CMNET能获得完全网络访问,就如PC直接上网一样,而CMWAP只能限制在WAP(基本上可以等同于HTTP,也就是只能访问web service)

那么接下来,看黑莓上这两个APN有什么区别呢,显然,连CMNET能干更多的事,比如:

1,长连接

2,对端口的socket连接

而CMWAP由于计费便宜,因此用户可能的话,往往倾向于用这个APN。不少应用为了达到更好的体验,也将自己的应用首选或者甚至绑定CMWAP方式。

最后,来罗列一下中国移动的WAP情况下,有哪些连接方式。

WAP 1.x(国内的开发者,特别是从J2ME转过来的开发者,往往倾向于此)

1, 长连接或者socket连接

建议用:

(SocketConnection)Connector.open("socket://testserver:600;deviceside=true;APN=cmnet");

如果在选项-高级-TCP/IP中填上了CMNET,用下面这种方式也能成功

(SocketConnection)Connector.open("socket://testserver:600;deviceside=true");

2, 用CMWAP访问WAP网站

(HttpConnection)Connector.open(http://wap.google.com;WAPGatewayIP=10.0.0.172;WAPGatewayAPN=cmwap);

这里,注意不要写“WapGatewayPort=80”(似乎很多人都容易犯这个错误),原因是系统会根据关键字http自动识别应该用哪个网关端口,实际上在黑莓上这个值也不是80,而是9201

3, 用CMNET访问WAP网站

(HttpConnection)Connector.open(http://wap.google.com;WAPGatewayIP=10.0.0.172;WAPGatewayAPN=cmnet );

或 用CMNET访问任意网站

(HttpConnection)Connector.open( http://www.google.com;deviceside=true;APN=cmnet )

WAP 2.0(这是我强烈推荐的)

可能大家也发现了,用WAP1.x非常之不灵活,代码也往往会变得很复杂很乱。

而其实黑莓上有更好更简洁的办法,就是通过WAP 2.0来访问,在上一篇博客里面我已经写了一个例子,来说明如何通过WAP2.0接入网络。在这里解释一下:

打开选项-高级选项-服务预订中,能看到一项叫做

WAP2 Transport[WPTCP]

点进去可以看到

名称: WAP2 Transport

UID: WAP2 trans

CID: WPTCP

这个东西哪里来的呢,这是黑莓上面的一个概念叫做service book,每一项service book其实就是一套对手机服务进行描述的配置文件,在这里的项目RIM和中国移动合作的时候准备好的配置项,由黑莓手机上市前预加载、或者手机启动时由运营商将配置发送到手机上。

就这一项而言,UID是描述服务的关键词,CID是描述服务走的是什么网络通道。UID为WAP2 trans就表示这是WAP2.0的service book,而且基本上这个关键词是不会变的。

这样就好理解了上篇博文中对WAP2.0那一段的代码了。

其实有更见的办法,用这个URL就直接搞定了。

http://www.google.com;DeviceSide=true;ConnectionUID=WAP2 trans

呵呵,中国移动就聊到这里了。

不过中国电信前几天也发布了一款黑莓9530,触摸屏的那款,接下来打算研究一下电信的网络,CDMA似乎还是和GPRS差别很大的。

至于联通嘛,就懒得研究了,理论上应该没法上网的,至少WAP2.0的方式,通过我今天的分析看就没法成功。

本文转自:http://blog.csdn.net/BBHeipy/archive/2010/05/28/5629594.aspx
...全文
1383 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
suzaichen 2011-12-30
  • 打赏
  • 举报
回复
good ,bu cuo!!!!!!
ryuting 2011-06-27
  • 打赏
  • 举报
回复
才知道回帖有分。。
xshaolong 2010-10-11
  • 打赏
  • 举报
回复
我是CMWAP,不能用CMNET,有没有什么办法可以通过CMWAP去用CMNET,这样我就能用mail和googlemap了,现在用黑莓,不能收发邮件,着实郁闷
wang_shaner 2010-09-02
  • 打赏
  • 举报
回复
官方教程文档里的内容。
terrydu 2010-08-30
  • 打赏
  • 举报
回复
good job .
kan kan
systemboyly 2010-08-29
  • 打赏
  • 举报
回复
路过学习
ywb888 2010-08-28
  • 打赏
  • 举报
回复
用双卡切换的方式,可以在移动和联通gprs之间转换,形成身份混乱,最后达到免费上网的效果,仅仅限于gprs.
lossyy 2010-08-27
  • 打赏
  • 举报
回复
好好学习,天天向上!
manlan123 2010-08-27
  • 打赏
  • 举报
回复
回帖即可获得10分可用分?
BB_xiaoming 2010-08-27
  • 打赏
  • 举报
回复
受用,感谢!应该多分享开发心得
zhan750520 2010-08-27
  • 打赏
  • 举报
回复
试试,很有收获。
daliancat1984 2010-08-27
  • 打赏
  • 举报
回复
发送彩信的时候也是通过cmwap连接的
wang1984hua 2010-08-26
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
liang8976 2010-08-26
  • 打赏
  • 举报
回复
学习一下,呵呵
cchaha 2010-08-26
  • 打赏
  • 举报
回复
多谢分享...
  • 打赏
  • 举报
回复
学习了,谢谢楼主
dmh2000 2010-08-26
  • 打赏
  • 举报
回复
好好学习,天天向上!
玖伍叁柒 2010-08-26
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
fcly1981826ly 2010-08-26
  • 打赏
  • 举报
回复
我不懂,,学习学习。。我8700G
slq8011 2010-08-25
  • 打赏
  • 举报
回复
看看再说
加载更多回复(18)

1,146

社区成员

发帖
与我相关
我的任务
社区描述
探讨BlackBerry智能手机开发相关的技术、软件、产品等话题。
社区管理员
  • BlackBerry
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧