目前基于Windows CE的产品大多数具有上网功能,能够连接到Internet实现浏览网页、收发邮件等基本功能。要实现更多的功能取决于连接Internet的速度,而速度取决于连接Internet的方式。连接Internet的方式分为两种:有线和无线。事实上大多数产品还是采用无线上网方式。
基于Windows mobile的Pocket PC和Smart phone能够轻松实现上网功能。这两种产品的软件开发人员可以不必过多考虑如何实现拨号上网。而对于采用定制Windows CE内核的产品而言,相关的软件开发人员必须自己实现拨号上网。幸运的是Windows CE的SDK中包含了拨号上网的支持,使软件开发人员的工作大大减轻。
拨号上网的硬件设备可以是独立的带内置调制解调器和具有GPRS功能的手机,也可以是嵌入到主板中带有同样功能的手机芯片。具体是什么并不重要,因为Windows CE包含的拨号上网模块采用标准的AT命令集与硬件设备通信。软件开发人员可以直接利用CE提供的接口函数来控制整个拨号过程,直到断开连接。
Windows CE.NET 提供了一个被称为RAS(Remote Access Service)的服务,通过RAS基于Windows CE的产品可以通过WAN(广域网)或VPN(虚拟个人网络)连接到远程服务器上。调用RAS的应用程序通常在客户机上执行,通过电话网连接到远程服务器,这种连接使用两种标准的远程访问协议:PPP点对点协议和SLIP串行线路Internet协议。RAS结构如图1所示。从图中可以看出RAS处于ISO/OSI模型的上层,下层的TAPI(电话API)调用Unimodem,Unimodem是通用的调制解调器驱动程序,它调用串口API实现与调制解调设备的通信。
图1 RAS服务结构图 |
函数 | 描述 |
RasDial | 建立RAS连接 |
RasEnumEntries | 列出注册表中所有拨号记录 |
RasGetConnectStatus | 获得指定远程访问连接的当前状态。 |
RasGetEntryDialParams | 获得指定的上次成功拨号记录的连接数据(参数) |
RasSetEntryDialParams | 设置指定的上次成功拨号记录的连接数据(参数) |
RasGetEntryProperties | 获得拨号记录属性 |
RasSetEntryProperties | 设置拨号记录属性 |
RasHangUp | 终止RAS连接 |
DWORD dwReturn; dwReturn = RasGetEntryProperties(NULL, L"", &RasEntry, &dwSize, NULL, NULL); if(dwReturn != 0) { ////不能得到系统拨号参数 return; } |
联系客服