网络连接及传输方式
黑莓解决方案扮演着有线网络与移动网络之间、公共网络(Internet)与内部网络(Intranet)之间的桥梁角色,导致黑莓涉及的网络连接及数据传输方式多种多样。
从应用程序的角度,选择数据传输模式需要考虑下列因素:
1. 黑莓用户类型;
2. 安全性及可靠性的重要程度;
3. 程序所用的网络及对漫游用户的支持;
4. 程序的传输配置;
5. 程序升级和报警的主动Push的需要;
6. 目标服务器的位置
无线传输模式
Push(推,推送)
客户端监听接收数据的端口,服务器在数据发生变化时把内容发送到手机上,接近于实时更新,客户端无需发送额外的包来获取数据或维持一个开放的连接。
其实现的难点在于:
l 获知手机的位置及当前网络地址;
l 要确保手机在信号覆盖区外仍能可靠地取得数据;
l 取消或替换失效、过时的Push数据;
l 保证Push的数据安全
Poll(拉,查询)
服务器将可用的新数据排成队列保存,客户端定时查询服务器的更新情况。Poll模式容易开发但实时性不强,提高更新的频率又会增加数据流量,从而增加电量消耗和服务费用。
Persistent Connection(永久连接)
客户端初始化一个到服务器的永久Socket连接并一直保持其开放,当服务器有数据更新时客户端就会通过这个开放的Socket得到新数据。然而Socket连接会在空闲时关闭,为保持其开放就要不断发送Keep-alive包,从而产生大量无用的数据传输;大量的Socket连接又会对服务器网关造成资源紧张和性能下降。
无线网关
MDS
目标服务器位于企业局域网内部,防火墙之后,程序用MDS作为网关连接公司内部程序,也能连接到基于Internet的服务器。MDS是一种企业环境,独立于移动网络存在。
移动运营商的IP网关
黑莓手机软件V4.0以后支持真正的TCP和HTTP协议栈及Socket连接,程序通过运营商的IP网关能直接连接到Internet。其数据传输是与黑莓服务相分离的,可能要签订额外协议。其可行性取决于运营商是否支持并开放该服务。在些网络支持由服务器发起的Push。
移动运营商的WAP网关
和IP网关类似,程序可以通过WAP网关与基于Internet的服务器建立HTTP连接。但使用WAP网关只支持客户端发起的连接,不支持WAP的Push。
使用不同网关的HTTP/TCP连接方式对比:
| 通过MDS连接 | 通过运营商网关连接 | |||
协议栈 | HTTP | TCP Socket | HTTP(IP) | TCP Socket(IP) | HTTP(WAP) |
网关 | MDS | MDS | IP网关 | IP网关 | WAP网关 |
协议 | HTTP/HTTPS | TCP Socket,SSL/TLS | HTTP/HTTPS | TCP Socket,SSL/TLS | HTTP(WAP),HTTPS(WAP/WTLS) |
用户类型 | BES | BES | BES,BIS | BES,BIS | BES,BIS |
Poll (客户端发起) | ✔ (HTTP GET/POST) | ✔ | ✔ (HTTP GET/POST) | ✔ | ✔ (HTTP GET) |
Push (服务器发起) | ✔ | ✘ | ✘ (iDEN支持) | ✘ (iDEN支持) | ✘ |
永久连接 | ✘ | ✔ | ✘ | ✔ | ✘ |
数据加密 | 3DES/AES | 3DES/AES | HTTPS | SSL/TLS | HTTPS(WTLS/SSL) |
授权支持 | ✔ (HTTP,NTLM,Kerberos) | ✘ (由程序提供) | ✔ (HTTP) | ✘ (由程序提供) | ✔ (HTTP) |
网络支持 | 全部 | 全部 | 部分 | 部分 | 部分 |
漫游支持 | ✔ | ✔ | ✘ (手动设置) | ✘ (手动设置) | ✘ (程序指定) |