【分享】 BlackBerry上中国移动的WAP网关连接技巧
首先解释一下,中国移动提供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
[解决办法]
不错,学习了
[解决办法]
学习学习...
[解决办法]
不懂 呵呵
[解决办法]
let me see