也谈BlackBerry网络连接
注意事项:
1. CT的WAP 2网关只能访问HTTP协议,但是端口可以是任意,比如可以访问 http://m.baidu.com, http://crj.fjgat.gov.cn:9080/
(2011年9月15日 更新)
但是不能访问://m.baidu.com:80;deviceside=true;ConnectionUID=WAP2,报错如下
电信网关报错如下(BlackBerry Java程序中可以获得电信网关返回的文本):
<html>
<body>
<font size="+2">Http Error401</font><br> <hr> An error of type 401 occurred:Unauthorized <hr> <font size="-1"><em>Generated byProxy Framework - Http Stack 1.0</em></font> </body></html>
2.行货电信黑莓手机,没有开通服务黑莓的UIM卡,需要修改手机里面的工程模式参数,SIP User从cbtt@mycdma.cn修改为ctwap@mycdma.cn。
这个时候手机走ctwap通道 (但不一定走WAP Proxy!!!),可以直接连接大部分外网端口。
这个可能就是传说中的电信打通了ctwap通道的说法吧?
2. BIS连接可以访问任意端口
3. BES连接要看企业的firewall允许访问的IP和端口。有的外企管理非常严格,BES网络只能访问某些IP和Port。比如不允许访问facebook和新浪微博,不允许访问80以外的端口等等。
4. 电信行货黑莓手机9630/9650开了黑莓服务,缺省走CTBB APN,不能走CTNET,只能走BES(通过企业内网)/BIS/WAP 2三个通道。
5.最后给一段网络连接的参考代码:
String lcase = url.toLowerCase();
//String [] connectionTypes = {"BES", "DirectTCP", "WAP2", "WiFi", "cmnet", "cmwap", "3gnet", "3gwap", "ctnet", "BIS", "NO parameter"};
if ( typesField.getSelectedIndex() == 0 )
url = url + ";deviceside=false";
if ( typesField.getSelectedIndex() == 1 )
url = url + ";deviceside=true";
if ( typesField.getSelectedIndex() == 2 )
url = url + ";deviceside=true;ConnectionUID=WAP2 trans";
if ( typesField.getSelectedIndex() == 3 )
url = url + ";interface=wifi";
if ( typesField.getSelectedIndex() == 4 )
url = url + ";deviceside=true;apn=cmnet";
if ( typesField.getSelectedIndex() == 5 )
url = url + ";deviceside=true;WAPGatewayIP=10.0.0.172;WAPGatewayAPN=cmwap";
if ( typesField.getSelectedIndex() == 6 )
url = url + ";deviceside=true;apn=3gnet";
if ( typesField.getSelectedIndex() == 7 )
url = url + ";deviceside=true;WAPGatewayIP=10.0.0.172;WAPGatewayAPN=3gwap";
if ( typesField.getSelectedIndex() == 8 )
url = url + ";deviceside=true;apn=ctnet";
if ( typesField.getSelectedIndex() == 9)
url = url + ";deviceside=false;ConnectionType=mds-public";
if ( typesField.getSelectedIndex() == 10 )
url = url;
参考:BlackBerry内置的Sample里面的HttpDemo
参考:Different ways to make an HTTP or socket connection
http://supportforums.blackberry.com/t5/Java-Development/Different-ways-to-make-an-HTTP-or-socket-connection/ta-p/445879
参考Network Connection Diagnostic Tool For Developers
注意:这个工具需要程序员自己编译一下使用。里面可以指定要访问的目标服务器的域名,端口。
http://devblog.blackberry.com/2010/11/network-connectivity/
参考:CSDN黑莓社区的“官方教程”里面的教程
http://blackberry.csdn.net/