Windows CE通訊模式
對(duì)Windows CE通訊的瀏覽
通訊能力是基于Windows CE設(shè)備的一個(gè)關(guān)鍵性特征。實(shí)際上,所有的這些設(shè)備都將至少有內(nèi)置的通訊硬件,例如一個(gè)串行電纜或者紅外(IR)傳送器。PC卡或者緊湊的映射卡(Compact Flash Card)支持容許廣泛的各種各樣的市場(chǎng)上的附加的通訊設(shè)備被加在一個(gè)基本的單元之中。這樣,Windows CE就能夠采用各種各樣的通訊形式,從通過(guò)電纜傳送的串行通訊到采用TCP/IP協(xié)議的無(wú)線網(wǎng)絡(luò)。
Windows CE支持兩種基本的通訊,在許多情況下,他們使用相同的硬件。不同點(diǎn)在于數(shù)據(jù)包不同,當(dāng)在發(fā)送器和接受器之間有一個(gè)一對(duì)一連接時(shí),你就可以采用串行通訊。數(shù)據(jù)簡(jiǎn)單地從一個(gè)設(shè)備流到另一個(gè)設(shè)備。網(wǎng)絡(luò)通訊允許你給定一個(gè)目標(biāo)地址,以傳送到多臺(tái)設(shè)備中的一臺(tái)。它也提供了高度的可靠性以防止數(shù)據(jù)丟失。
Windows CE能支持三種類型的通訊: 串行通訊能夠通過(guò)下列設(shè)備傳送:
串行電纜;
紅外傳送器,無(wú)論有沒(méi)有使用IrDA協(xié)議,
串行通訊和快速IR都被支持。
調(diào)制解調(diào)器
網(wǎng)絡(luò)通訊能夠通過(guò)幾乎任何類型的硬件通訊設(shè)備進(jìn)行通訊。Windows CE網(wǎng)絡(luò)支持:
ICMP請(qǐng)求或連接;
基于HTTP和FTP協(xié)議的Internet通訊;
網(wǎng)絡(luò)文件和打印機(jī)訪問(wèn);
Windows Sockets,包括用于紅外通訊的IrSock擴(kuò)展和用于通訊安全的secure sockets擴(kuò)展;
用于無(wú)線網(wǎng)絡(luò)的TCP/IP協(xié)議;
用于紅外通訊的IrDA協(xié)議;
用于局域網(wǎng)和IrDA的網(wǎng)絡(luò)的IDIS4.0
用于帶有串行電纜或者調(diào)制解調(diào)器連接的網(wǎng)絡(luò)的PPP協(xié)議和SLIP協(xié)議;
遠(yuǎn)程訪問(wèn)服務(wù)器(RAS)客戶支持。
Windows CE也提供支持管理通過(guò)TAPI(telephoy API)連接的調(diào)制解調(diào)器。TAPI處理的任務(wù)有:電話撥號(hào)、建立連接和終止呼叫。
下面扼要地表示了通訊模式:
串行通訊
串行通訊實(shí)際上將被所有的Windows CE設(shè)備所支持,在硬件水平上,通過(guò)電纜和紅外傳送器進(jìn)行串行通訊是很普通的。調(diào)制解調(diào)器也支持串行通訊。
每一個(gè)串行設(shè)備都匹配有一個(gè)COM口,例如“COM1”。Windows CE為打開(kāi)串口和管理接收設(shè)備上的連接提供了一個(gè)API。一旦連接成功,將用相同的函數(shù)進(jìn)行數(shù)據(jù)傳送,這些函數(shù)用以讀一個(gè)文件或者寫一個(gè)文件。數(shù)據(jù)只是簡(jiǎn)單的從一個(gè)設(shè)備傳送到另一個(gè)設(shè)備。不支持同步和異步I/O。
有些設(shè)備可能允許紅外傳送器用以串行通訊。這種傳送將是“原始的”,即沒(méi)有進(jìn)行沖突檢測(cè)。用以原始串行紅外傳送的程序?qū)嶋H上和那些用以電纜傳送的程序是完全相同的。
利用IrDA協(xié)議,通過(guò)IRsock(網(wǎng)絡(luò)堆的一部分,將在后面進(jìn)行訴論)可以得到更加強(qiáng)健的串行紅外通訊。作為一種直接采用Irsock的替換,IrComn模仿串行通訊但是內(nèi)部采用IRSock和IrDA協(xié)議。用于IrComn的程序和那些用于串行電纜和“原始”IR的程序?qū)嶋H上是完全相同的。
網(wǎng)絡(luò)通訊
Windows CE支持網(wǎng)絡(luò)通訊所用的各種硬件設(shè)備包括:
串行電纜;
紅外傳送器;
廣播傳送器;
局域網(wǎng)絡(luò);
調(diào)制解調(diào)器。
Windows CE也提供了幾個(gè)API以簡(jiǎn)化在一個(gè)應(yīng)用程序中包含網(wǎng)絡(luò)通過(guò)的過(guò)程。
Internet瀏覽以及訪問(wèn)遠(yuǎn)程文件和打印機(jī)
Windows CE提供了兩種高水平的API,這兩種API簡(jiǎn)化了網(wǎng)絡(luò)通訊中的一些更普通的應(yīng)用。
WinInet API支持HTTP 1.0和FTP Internet瀏覽協(xié)議。它大大地簡(jiǎn)化了編寫一個(gè)Internet客戶應(yīng)用程序的過(guò)程。但是不支持*。WinInet也支持安全通訊。有三種安全協(xié)議:Secure Sockets層(SSL)2.0版和3.0版,以及私有通訊技術(shù)(PCT)1.0版。
Wnet API提供了訪問(wèn)普通Internet文件系統(tǒng)(IFS)和改更遠(yuǎn)程訪問(wèn)打印機(jī)和文件的地址?,F(xiàn)在僅支持Windows 95和Windows NT操作系統(tǒng)的連接。地址更換支持全球名字轉(zhuǎn)稱(UNC),這里的名稱(例如\SeverXXShareXX)不包括驅(qū)動(dòng)器字符。
WinSock和IRSock
所有的網(wǎng)絡(luò)通訊都通過(guò)Windows Sockets接口,一般稱作Winsock、WinInef和Wnet在內(nèi)部應(yīng)用Winsock,并能夠減輕為了清晰地建立和管理Socket連接所需要的應(yīng)用程序。你也可以直接使用Winsock。
Windows CE支持標(biāo)準(zhǔn)的WinSock 1.1版的函數(shù),但是不支持異步的WinSock函數(shù)。然而,可以通過(guò)微軟基礎(chǔ)類(MFC)的CleSocket類獲得支持異步消息。一個(gè)WSAIoctl的執(zhí)行是用來(lái)支持安全服務(wù)提供者。Windows CE支持安全Sockets層的2.0版和1.0版,以及PCT1.0版的安全協(xié)議。
IrSock是WinSock的一個(gè)擴(kuò)展,它能應(yīng)用IrDA協(xié)議加強(qiáng)基于Socket的紅外通訊。盡管IrSock這個(gè)應(yīng)用工具和傳統(tǒng)的WinSock在幾個(gè)函數(shù)的用法上有一些不同,但是在許多方面它們都是相同的。
對(duì)遠(yuǎn)程訪問(wèn)客戶的支持
Windows CE支持遠(yuǎn)程訪問(wèn)服務(wù)器(RAS)的客戶,RAS是一個(gè)用于連接遠(yuǎn)程設(shè)備的多協(xié)議規(guī)則。Windows CE RAS客戶支持實(shí)際上和標(biāo)準(zhǔn)的Windows工具是完全相同的,但是一次只支持一個(gè)點(diǎn)對(duì)點(diǎn)的連接。
TCP/IP和IrDA
TCP/IP協(xié)議簇是為Internet而開(kāi)發(fā)的,也是一個(gè)最靈活的、應(yīng)用最廣泛的網(wǎng)絡(luò)協(xié)議,它被廣泛的各種系統(tǒng)所支持,并形成了Windows CE網(wǎng)絡(luò)棧的核心。當(dāng)你不能夠直接訪問(wèn)TCP/IP協(xié)議棧時(shí),你可以通過(guò)修改它的一些參數(shù)來(lái)優(yōu)化它。
常規(guī)的TCP/IP協(xié)議棧被設(shè)計(jì)成在有線網(wǎng)上具有高效功能的協(xié)議。他們可以正確地運(yùn)行在基于Windows CE的用在無(wú)線網(wǎng)絡(luò)上的機(jī)動(dòng)設(shè)備。Windows CE的TCP/IP棧被設(shè)計(jì)成參數(shù)可以重新設(shè)置的,這樣就能夠高效的支持無(wú)線網(wǎng)絡(luò)。這種參數(shù)的一個(gè)例子是:acknowledgement timeout。
經(jīng)外數(shù)據(jù)聯(lián)合(IRDA)協(xié)議是一個(gè)廣泛用在紅外通訊上的標(biāo)準(zhǔn)。它比數(shù)據(jù)簡(jiǎn)單地從源端傳送到接收器要可靠得多,Windows CE IRDA棧被調(diào)慶成支持NDIS4.0 SIRt FIR驅(qū)動(dòng)器。
網(wǎng)絡(luò)的硬件設(shè)備
當(dāng)兩個(gè)設(shè)備之間一對(duì)一的連接允許串行通訊時(shí),就要經(jīng)常用到網(wǎng)絡(luò)通訊技術(shù)。例如,許多基于Windows CE的設(shè)備將通過(guò)串行通訊連接(如調(diào)制解調(diào)器)連接到它們的網(wǎng)絡(luò)上。甚至可以用一根串行電纜來(lái)連接兩個(gè)設(shè)備,TCP/IP協(xié)議提供了內(nèi)置的可靠性,以防止丟失數(shù)據(jù)。
為了支持串行連接網(wǎng)絡(luò),Windows CE支持廣泛應(yīng)用的串行線接口(SLIP)和點(diǎn)對(duì)點(diǎn)(PPP)協(xié)議。證實(shí)是通過(guò)口令證實(shí)協(xié)議(PAP),挑戰(zhàn)證實(shí)協(xié)議(CHAP)和微軟的CHAP來(lái)提供的。
為了支持局域網(wǎng)和IrDA網(wǎng),Windows CE包含了一個(gè)NDIS4.0的招待程序?,F(xiàn)在,Windows CE僅支持以太網(wǎng)和IrDA小口驅(qū)動(dòng)器,現(xiàn)在不支持廣域網(wǎng)。
管理電話連接
用串行或者網(wǎng)絡(luò)API通過(guò)調(diào)制解調(diào)器連接都能進(jìn)行數(shù)據(jù)傳輸。然而,任何一個(gè)API都不能對(duì)諸如電話撥號(hào)這樣的任務(wù)提供任何幫助。為了簡(jiǎn)化編寫和管理電話連接的過(guò)程,Windows CE包括了一個(gè)Telephoy API(TAPI),可以通過(guò)內(nèi)置式或PC卡式調(diào)制解調(diào)器來(lái)使用它。它包括了一個(gè)為基于調(diào)制解調(diào)器AT命令的聯(lián)合式調(diào)制解調(diào)器的服務(wù)提供者。對(duì)于其他類型的調(diào)制解調(diào)器,TAPI支持可安裝服務(wù)的供應(yīng)商。
TAPI是一個(gè)設(shè)備的集合,它允許你利用廣泛的各種電報(bào)和通訊服務(wù)而不需要你有詳細(xì)的專門技術(shù)的知識(shí)。它處理各種任務(wù),諸如電話撥號(hào)、管理調(diào)制解調(diào)器連接和終止呼叫,它僅支持呼叫的外界。
評(píng)論