c語言實(shí)的串行通信接口程序.doc
約9頁DOC格式手機(jī)打開展開
c語言實(shí)的串行通信接口程序,c語言實(shí)的串行通信接口程序頁數(shù):9字?jǐn)?shù):3753c語言實(shí)的串行通信接口程序 摘要該文介紹了sockets通信原理,從程序員角度著重討論了windowssockets為支持異步通信對sockets的功能擴(kuò)充,并給出了應(yīng)用windowssockets實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時通信的一個程序?qū)嵗?。關(guān)ibm公司于1994年4月推出的tcp/...
內(nèi)容介紹
此文檔由會員 cnlula 發(fā)布
C語言實(shí)的串行通信接口程序
頁數(shù):9 字?jǐn)?shù):3753
C語言實(shí)的串行通信接口程序
摘要該文介紹了Sockets通信原理,從程序員角度著重討論了WindowsSockets為支持異步通信對Sockets的功能擴(kuò)充,并給出了應(yīng)用WindowsSockets實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時通信的一個程序?qū)嵗?。關(guān)IBM公司于1994年4月推出的TCP/IPforDOSV2.1.1所提供的開發(fā)軟件包ProgrammersToolKit不僅帶有DOS下網(wǎng)絡(luò)編程接口,而且提供了Windows下網(wǎng)絡(luò)異步通信接口WINSOCK。一、Socket網(wǎng)絡(luò)編程原理Socket是BSDUNIX提供的網(wǎng)絡(luò)應(yīng)用編程接口,它采用客戶機(jī)/服務(wù)器的通信機(jī)制,使網(wǎng)絡(luò)客戶機(jī)方和服務(wù)器方通過Socket實(shí)現(xiàn)網(wǎng)絡(luò)之間的連接和數(shù)據(jù)交換。Socket提供了一系列的系統(tǒng)調(diào)用,使用這些系統(tǒng)調(diào)用可以實(shí)現(xiàn)TCP、UDP、ICMP和IP等多種網(wǎng)絡(luò)協(xié)議之間的通信。Socket有三種主要類型:streamsockets,datagramsockets和rawsockets。Streamsocket接口定義了一種可靠的面向連接的服務(wù),它實(shí)現(xiàn)了無差錯無重復(fù)的順序數(shù)據(jù)傳輸。它通過內(nèi)置的流量控制解決了數(shù)據(jù)的擁塞,應(yīng)用程序可以發(fā)送任意長度的數(shù)據(jù),將數(shù)據(jù)當(dāng)作字節(jié)流。Datagramsocket接口定義了一種無連接的服務(wù),數(shù)據(jù)通過相互獨(dú)立的包進(jìn)行傳輸,包的傳輸是無序的,并且不保證是否出錯、丟失和重復(fù)。包長度是有限的(隱含長度為8192字節(jié),最大長度可設(shè)為32768字節(jié))。Rawsocket接口允許對低層協(xié)議如IP和ICMP的直接存取,它主要用于新的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)的測試等。下面我們通過一個面向連接的傳輸發(fā)生的典型情況來說明socket網(wǎng)絡(luò)通信的實(shí)現(xiàn)。由圖我們可以看出,客戶機(jī)和服務(wù)器的關(guān)系不是對稱的。服務(wù)器首先啟動,然后在某一時間啟動客戶機(jī)與服務(wù)器建立連接。服務(wù)器和客戶機(jī)開始都必
頁數(shù):9 字?jǐn)?shù):3753
C語言實(shí)的串行通信接口程序
摘要該文介紹了Sockets通信原理,從程序員角度著重討論了WindowsSockets為支持異步通信對Sockets的功能擴(kuò)充,并給出了應(yīng)用WindowsSockets實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時通信的一個程序?qū)嵗?。關(guān)IBM公司于1994年4月推出的TCP/IPforDOSV2.1.1所提供的開發(fā)軟件包ProgrammersToolKit不僅帶有DOS下網(wǎng)絡(luò)編程接口,而且提供了Windows下網(wǎng)絡(luò)異步通信接口WINSOCK。一、Socket網(wǎng)絡(luò)編程原理Socket是BSDUNIX提供的網(wǎng)絡(luò)應(yīng)用編程接口,它采用客戶機(jī)/服務(wù)器的通信機(jī)制,使網(wǎng)絡(luò)客戶機(jī)方和服務(wù)器方通過Socket實(shí)現(xiàn)網(wǎng)絡(luò)之間的連接和數(shù)據(jù)交換。Socket提供了一系列的系統(tǒng)調(diào)用,使用這些系統(tǒng)調(diào)用可以實(shí)現(xiàn)TCP、UDP、ICMP和IP等多種網(wǎng)絡(luò)協(xié)議之間的通信。Socket有三種主要類型:streamsockets,datagramsockets和rawsockets。Streamsocket接口定義了一種可靠的面向連接的服務(wù),它實(shí)現(xiàn)了無差錯無重復(fù)的順序數(shù)據(jù)傳輸。它通過內(nèi)置的流量控制解決了數(shù)據(jù)的擁塞,應(yīng)用程序可以發(fā)送任意長度的數(shù)據(jù),將數(shù)據(jù)當(dāng)作字節(jié)流。Datagramsocket接口定義了一種無連接的服務(wù),數(shù)據(jù)通過相互獨(dú)立的包進(jìn)行傳輸,包的傳輸是無序的,并且不保證是否出錯、丟失和重復(fù)。包長度是有限的(隱含長度為8192字節(jié),最大長度可設(shè)為32768字節(jié))。Rawsocket接口允許對低層協(xié)議如IP和ICMP的直接存取,它主要用于新的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)的測試等。下面我們通過一個面向連接的傳輸發(fā)生的典型情況來說明socket網(wǎng)絡(luò)通信的實(shí)現(xiàn)。由圖我們可以看出,客戶機(jī)和服務(wù)器的關(guān)系不是對稱的。服務(wù)器首先啟動,然后在某一時間啟動客戶機(jī)與服務(wù)器建立連接。服務(wù)器和客戶機(jī)開始都必