3080
- 收藏
- 点赞
- 分享
- 举报
WinCE 通信模型构建
通信能力是基于Windows CE的设备的关键特性。它的范围可以从简单的电缆串行输入 (I/O)到使用传输控制协议(TCP/IP)的无线网络。除了内置的通讯硬件,比如串行电缆或红外收发器外,对PCMCIA的支持使得广泛的已投入市场的通信设备能够添加到基本的支持包中。
Windows CE支持三种通信方式:
串行I/O
网络,包括:
Windows Sockets (WinSock)和Infrared Sockets (IRSock)
TCP/IP和IRDA (Infrared Data Association,红外数据传输)
用于局域网的NDIS 4.0 (Network Device/Driver Interface Specification,网络设备/驱动程序接口规范)
通过串行线或modem的点对点协议(PPP ,Point-to-Point Protocol)和串行联接接口协议(SLIP ,Serial Link Interface Protocol)的网络
远程文件访问(Wnet API)
远程访问客户端(RAS)
支持浏览器(WinINET API)
电话API (TAPI)
串行I/O是Windows CE通信模型中最基本的特性,在所有的设备中都应该能够使用。在硬件上,串行通信通常通过电缆或IR收发器得以实现。
电缆的联接可以通过标准Microsoft Win32 API串行和文件系统函数处理。这些函数用于打开、关闭和操作COM(Component Object Model,组件对象模型)端口,以及从其读出和写入。交替或异步I/O并不被支持。
IR收发器被分配到一个COM端口,这样可以直接使用利用常用串行通信函数的串行I/O。I/O通信是一种“原始的”方式,这意味着,比如它不具有冲突检测。
通过IRSock (一种WinSock的扩展,将在后面讨论)可得到利用IRDA协议的更为强效的串行IR通信。作为一种直接使用IRSock的可选性手段, IRComm仿效了串行通信,不过其内部使用了IRSock和IRDA协议。
Windows CE具有一个带有多种不同选项的网络栈。它能够使用各种硬件方式,包括红外、串行、以太网和无线联接。
在网络栈的顶层,Windows CE支持WinINET和Wnet APIs的子集,以及一个SMB(server message block,服务器消息块) 重定向程序(redirector)。
WinINET API提供了对Internet浏览协议的支持。这些协议包括文件传输协议(FTP ,File Transfer Protocol)和超文本传输协议(HTTP ,Hypertext Transfer Protocol) 1.0,但不包括Gopher。WinINET API 只支持一个代理( proxy),并不具有缓冲。它还提供了对两种Internet安全协议的访问支持,这两种协议是SSL(Secure Sockets Layer ,安全套接层) 2.0 和3.0以及PCT (Private Communication Technology,私人通信技术) 1.0。
Wnet API提供了对SMB重定向程序的处理以进行远程文件访问。当前只支持对Microsoft Windows 95和Windows NT操作系统的联接。重定向程序支持UNC (Universal Naming Convention,通用命名约定)名(比如//serverXX/shareXX),但不支持驱动器符。
应用程序正常情况下通过WinSock接口访问网络栈。Windows CE支持WinSock 1.0的一个子集。所有标准WinSock函数都能够被使用,但异步函数(包括大部分WSAxxx 函数)则不行。Windows CE还支持SSL 2.0、3.0以及PCT 1.0安全协议。
IRSock是对WinSock的扩展以实现通过红外收发器的基于socket的通信。它设计用于支持工业标准IRDA协议。虽然一些函数在使用上略有不同,但应用程序使用IRSock与使用传统WinSock非常相似。
At the same level in the network stack as WinSock, but serving a different purpose, Windows CE支持RAS( Remote Access Server,远程访问服务器)客户端,其在网络栈中与WinSock位于相同的层次,但却有不同的用途。RAS是一种用于联接远程服务的多协议路由器。Windows CE RAS客户端实质上与Win32的实现是一样的,但它一次只支持一个点对点联接。
TCP/IP协议是为Internet开发的,或许已成为最为灵活和广泛使用的网络协议。该协议被众多的系统所支持,并构成了Windows CE网络栈的核心。
许多基于Windows CE的移动设备都将具有无线通信能力。不过,常规的TCP/IP栈通常在有线网络里运行良好,而在使用无线技术时可能性能较差。Windows CE TCP/IP栈被设计得能够被配置而有效的支持无线网络。
对于红外网络,Windows CE提供了对IRDA协议的传输层支持。
在网络栈的底部,Windows CE支持两种数据链接层。
许多基于Windows CE的设备都通过串行通信连接方式(比如通过调制解调器)连接到它们的网络中。为了支持这类网络,Windows CE利用了被广泛使用的SLIP和PPP协议。并通过PAP( Password Authentication Protocol,口令验证协议)、CHAP (Challenge Authentication Protocol,挑战验证协议)和Microsoft CHAP提供验证。
对于LANs (Local Area Networks,局域网),Windows CE包含了NDIS 4.0的一个实现方式。当前只支持以太网微端口(Ethernet miniport)驱动程序。对于WANs (Wide Area Networks,广域网),Windows CE并不支持。
Windows CE包含了一个用于基于AT(Advanced Technology,高级技术)命令的调制解调器(Unimodem)的TAPI (Telephony API,电话API)服务供应器 。其可被附接的或PCMCIA调制解调器所用。
TAPI是一套工具的集合,这些工具使得应用程序能够充分利用多种电话和通信服务,而不需要对特定技术拥有详细的知识背景。Windows CE 的TAPI实现方式用于解决外出人员的电话问题,并提供了向外拨号和地址翻译服务。拨入电话当前并不支持。对多拨号地点的支持可由Control Panel完成。为了提供硬件选择上的灵活性,TAPI支持可安装的服务供应器。
Windows CE通信模型设计用于能够在多种不同类型的服务上良好地工作。它提供了一种具有不同选项集合的OEM (original equipment manufacturer,原始设备制造商)方式以供从中选择。其模块化的设计使得耗用被降低到最小,因为模型中只有一个特定设备所必需的部分才会被包含于其中。有关根据特定设备调整通信模型的更多细节,请参阅Windows CE OEM Adaptation Kit。
对于应用程序开发人员而言,Windows CE支持绝大多数通信类型。这些通信方式可通过类似的基于Win32的APIs进行处理,这使得开发人员易于在他们的程序中实现有关的通信能力。有关为基于Windows CE的设备编写具有通信功能的应用程序的详细信息,请参阅Windows CE Software Development Kit。
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2008-06-04 21:21:27
-
2012-12-05 14:28:25
-
2008-08-23 16:16:51
-
2024-07-15 18:00:25
-
02008-07-12 19:17:39
-
2013-11-28 22:30:02
-
2024-06-12 17:58:10
-
2010-01-28 10:58:40
-
2012-12-05 13:32:08
-
2012-12-05 14:28:56
-
2012-12-04 13:13:47
-
2012-12-05 11:10:23
-
2008-08-24 11:58:57
-
2012-12-04 14:18:16
-
2012-12-05 13:32:58
-
2008-10-09 08:56:15
-
2008-09-12 12:10:03
-
2009-06-25 16:10:15
-
2009-06-26 08:48:33
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认