計(jì)算機(jī)網(wǎng)絡(luò)課件(蔡開裕)——8.1 Socket接口_第1頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)課件(蔡開裕)——8.1 Socket接口_第2頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)課件(蔡開裕)——8.1 Socket接口_第3頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)課件(蔡開裕)——8.1 Socket接口_第4頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)課件(蔡開裕)——8.1 Socket接口_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -8.1 Clinet/Server模型與模型與Socket編程接口編程接口8.1.1 網(wǎng)絡(luò)間進(jìn)程通信網(wǎng)絡(luò)間進(jìn)程通信8.1.2 Client/Server模型模型8.1.3 Socket編程接口編程接口 Socket基本概念基本概念 Socket系統(tǒng)調(diào)用系統(tǒng)調(diào)用其它系統(tǒng)調(diào)用其它系統(tǒng)調(diào)用8.1.4 基于基于Client/Server模型的模型的Socket編程舉編程舉例例 Client/Server模型流程圖模型流程圖8.1.4

2、.2 Server實(shí)現(xiàn)機(jī)制實(shí)現(xiàn)機(jī)制2第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -8.1.1 網(wǎng)絡(luò)間進(jìn)程通信網(wǎng)絡(luò)間進(jìn)程通信 802.3CSMA/CD802.4令牌總線令牌總線802.5令牌環(huán)令牌環(huán)802.2邏輯鏈路控制層邏輯鏈路控制層鏈路層鏈路層物理層物理層Internet IPInternet TCP傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層應(yīng)用進(jìn)程應(yīng)用進(jìn)程DNS應(yīng)用層應(yīng)用層鏈路層鏈路層物理層物理層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層應(yīng)用層應(yīng)用層應(yīng)用進(jìn)程應(yīng)用進(jìn)程FTP應(yīng)用進(jìn)程應(yīng)用進(jìn)程Telnet應(yīng)用進(jìn)程應(yīng)用進(jìn)程HTTP應(yīng)用進(jìn)程應(yīng)用進(jìn)程DNS應(yīng)用進(jìn)程應(yīng)用進(jìn)

3、程FTP應(yīng)用進(jìn)程應(yīng)用進(jìn)程Telnet應(yīng)用進(jìn)程應(yīng)用進(jìn)程HTTP802.3CSMA/CD802.4令牌總線令牌總線802.5令牌環(huán)令牌環(huán)802.2邏輯鏈路控制層邏輯鏈路控制層Internet IPInternet TCPInternet3第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT - 進(jìn)程標(biāo)識(shí)的問(wèn)題進(jìn)程標(biāo)識(shí)的問(wèn)題l在同一臺(tái)主機(jī)上,不同進(jìn)程可用進(jìn)程號(hào)(在同一臺(tái)主機(jī)上,不同進(jìn)程可用進(jìn)程號(hào)(Process ID)來(lái)標(biāo)識(shí);但)來(lái)標(biāo)識(shí);但在網(wǎng)絡(luò)環(huán)境下,不能用進(jìn)程號(hào)來(lái)唯一地標(biāo)識(shí)主機(jī)上的通信進(jìn)程。在網(wǎng)絡(luò)環(huán)境下,不能用進(jìn)程號(hào)來(lái)唯一地標(biāo)識(shí)主機(jī)上的通

4、信進(jìn)程。l網(wǎng)絡(luò)上唯一標(biāo)識(shí)一個(gè)進(jìn)程需要用一個(gè)二元組:網(wǎng)絡(luò)上唯一標(biāo)識(shí)一個(gè)進(jìn)程需要用一個(gè)二元組:(主機(jī)(主機(jī)IP地址,服務(wù)端口號(hào))地址,服務(wù)端口號(hào)) 多重協(xié)議的識(shí)別問(wèn)題多重協(xié)議的識(shí)別問(wèn)題l不同協(xié)議如不同協(xié)議如TCP/UDP的地址格式不同;端口分配相互獨(dú)立;工作的地址格式不同;端口分配相互獨(dú)立;工作方式也不同(比如有面向連接與無(wú)連接的區(qū)別)方式也不同(比如有面向連接與無(wú)連接的區(qū)別) 網(wǎng)絡(luò)上兩個(gè)進(jìn)程之間進(jìn)行通信需要用一個(gè)五元組來(lái)標(biāo)識(shí):網(wǎng)絡(luò)上兩個(gè)進(jìn)程之間進(jìn)行通信需要用一個(gè)五元組來(lái)標(biāo)識(shí):(本地主機(jī)(本地主機(jī)IP地址,本地服務(wù)端口號(hào),地址,本地服務(wù)端口號(hào),協(xié)議協(xié)議,遠(yuǎn)程主機(jī)遠(yuǎn)程主機(jī)IP地址,遠(yuǎn)程地址,遠(yuǎn)程服務(wù)

5、端口號(hào)服務(wù)端口號(hào))1、網(wǎng)絡(luò)上通信、網(wǎng)絡(luò)上通信進(jìn)程進(jìn)程的的標(biāo)識(shí)標(biāo)識(shí)4第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -8.1.2 進(jìn)程之間通信模型進(jìn)程之間通信模型 客戶內(nèi)核服務(wù)器內(nèi)核請(qǐng)求應(yīng)答網(wǎng)絡(luò)n網(wǎng)絡(luò)的主要作用或功能是通信與資源共享。從中可以歸納出網(wǎng)絡(luò)的主要作用或功能是通信與資源共享。從中可以歸納出網(wǎng)絡(luò)上進(jìn)程間的相互作用模式為網(wǎng)絡(luò)上進(jìn)程間的相互作用模式為客戶客戶/ 服務(wù)器(服務(wù)器(Client/Server)模式,)模式,即客戶向服務(wù)器主動(dòng)發(fā)出服務(wù)請(qǐng)求,服務(wù)器等待接收即客戶向服務(wù)器主動(dòng)發(fā)出服務(wù)請(qǐng)求,服務(wù)器等待接收服務(wù)請(qǐng)求,并根據(jù)自身

6、的資源狀態(tài)進(jìn)行應(yīng)答與服務(wù)。服務(wù)請(qǐng)求,并根據(jù)自身的資源狀態(tài)進(jìn)行應(yīng)答與服務(wù)。n客戶客戶/ 服務(wù)器模式的特點(diǎn):非對(duì)稱的、異步的;服務(wù)器模式的特點(diǎn):非對(duì)稱的、異步的;5第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -8.1.3 Socket套接字編程接口套接字編程接口 在因特網(wǎng)中,為了方便網(wǎng)絡(luò)上進(jìn)程之間使用在因特網(wǎng)中,為了方便網(wǎng)絡(luò)上進(jìn)程之間使用TCP/IP協(xié)議協(xié)議進(jìn)進(jìn)行通信,專門設(shè)計(jì)了一套編程接口行通信,專門設(shè)計(jì)了一套編程接口套接字(套接字(Socket)編程)編程接口接口,所謂套接字(所謂套接字(Socket),就是用于標(biāo)識(shí)通信進(jìn)程的

7、(),就是用于標(biāo)識(shí)通信進(jìn)程的(主機(jī)地址、端口號(hào)、使用協(xié)議)的一個(gè)組合主機(jī)地址、端口號(hào)、使用協(xié)議)的一個(gè)組合ID,套接字編程套接字編程接口包括以下主要接口包括以下主要API:l創(chuàng)建創(chuàng)建socket:socket( )l指定本地地址:指定本地地址:bind( )l建立建立socket連接:連接:connect( )l接收連接請(qǐng)求:接收連接請(qǐng)求:listen( ) 、accept( )l發(fā)送數(shù)據(jù):發(fā)送數(shù)據(jù):send( ) & sendto( )l接收數(shù)據(jù):接收數(shù)據(jù):recv( ) & recvfrom( )不同的不同的OS關(guān)于關(guān)于socket的實(shí)現(xiàn)不的實(shí)現(xiàn)不完全相同完全相同6第十二章第十二章 Cli

8、net/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -1. 創(chuàng)建套接字創(chuàng)建套接字socket( ) 創(chuàng)建套接字創(chuàng)建套接字socket,其調(diào)用格式如下:,其調(diào)用格式如下:sockidsocket(af,type,protocol)laf(Address Family)主機(jī)的地址類型,主機(jī)的地址類型,AF_INET 表表示使用示使用TCP/IP地址;地址;ltype通信服務(wù)類型,通信服務(wù)類型,sock_STREAM表示面向連接的表示面向連接的字符流通信方式,而字符流通信方式,而sock_DGRAM表示無(wú)連接的數(shù)據(jù)表示無(wú)連接的數(shù)據(jù)報(bào)方式等;報(bào)方式等;lprotoc

9、ol通信協(xié)議通信協(xié)議,目前可由目前可由type來(lái)確定(值為來(lái)確定(值為0););l返回值返回值sockid是一個(gè)整數(shù),即是一個(gè)整數(shù),即socket號(hào)號(hào),創(chuàng)建一個(gè),創(chuàng)建一個(gè)socket實(shí)際上是向系統(tǒng)申請(qǐng)屬于本進(jìn)程的一個(gè)特殊實(shí)際上是向系統(tǒng)申請(qǐng)屬于本進(jìn)程的一個(gè)特殊ID,應(yīng)用進(jìn)程將通過(guò)該,應(yīng)用進(jìn)程將通過(guò)該socket ID來(lái)進(jìn)行通信。來(lái)進(jìn)行通信。7第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -2. 指定本地地址指定本地地址bind( ) bind( )是將本地是將本地socket地址地址(包括本地主機(jī)地址和本(包括本地主機(jī)地址和本地端

10、口等)與所創(chuàng)建的地端口等)與所創(chuàng)建的socket號(hào)聯(lián)系起來(lái),號(hào)聯(lián)系起來(lái),bind( )的的調(diào)用格式為:調(diào)用格式為: bind(sockid,localaddr,addrlen )lsockid,已獲得的,已獲得的socket號(hào)。號(hào)。llocaladdr,本地,本地socket地址:包括本地主機(jī)地址和端口號(hào)地址:包括本地主機(jī)地址和端口號(hào)l addrlen,本地,本地socket地址長(zhǎng)度,表示以字節(jié)為單位的本地址長(zhǎng)度,表示以字節(jié)為單位的本地地socket地址結(jié)構(gòu)的長(zhǎng)度。地址結(jié)構(gòu)的長(zhǎng)度。8第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT

11、-socket地址結(jié)構(gòu)地址結(jié)構(gòu)在在Internet 上使用的上使用的TCP/IP socket 地址地址結(jié)構(gòu)為:結(jié)構(gòu)為:Struct sockaddr_in short int sin_family; /AF_INETu_short sin_port; /16Bit 的端口號(hào)的端口號(hào)Struct in_addr sin_addr; / 32 Bit 的的IP地址地址 char sin_zero8; /保留保留Struct in_addru_long s_addr; / 32 Bit 的的IP地址地址9第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUD

12、T - NUDT -3. 請(qǐng)求建立連接請(qǐng)求建立連接connect( ) 面向連接通信的客戶端進(jìn)程通過(guò)面向連接通信的客戶端進(jìn)程通過(guò)connect( ) 調(diào)用主動(dòng)請(qǐng)求調(diào)用主動(dòng)請(qǐng)求建立與服務(wù)器的連接,當(dāng)連接建立成功后,就可以通過(guò)建立與服務(wù)器的連接,當(dāng)連接建立成功后,就可以通過(guò)sockid標(biāo)識(shí)的連接號(hào)進(jìn)行通信,標(biāo)識(shí)的連接號(hào)進(jìn)行通信,connect() 的調(diào)用格式為:的調(diào)用格式為: connect(sockid,destaddr,addrlen )lsockid,本地,本地socket號(hào)。號(hào)。ldestaddr,是一個(gè)指向服務(wù)器的,是一個(gè)指向服務(wù)器的socket地址結(jié)構(gòu)(包括地址結(jié)構(gòu)(包括IP地址、端口

13、等信息)地址、端口等信息)的指針的指針laddr1en,信宿方,信宿方socket地址長(zhǎng)度地址長(zhǎng)度10第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -4. 接收連接建立請(qǐng)求接收連接建立請(qǐng)求listen( )和和accept( ) 面向連接的服務(wù)器進(jìn)程一般在某個(gè)面向連接的服務(wù)器進(jìn)程一般在某個(gè)眾所周知的端眾所周知的端口口上接收客戶進(jìn)程的連接建立請(qǐng)求。服務(wù)器進(jìn)程上接收客戶進(jìn)程的連接建立請(qǐng)求。服務(wù)器進(jìn)程平時(shí)處于平時(shí)處于睡眠狀態(tài)睡眠狀態(tài),一旦有連接建立請(qǐng)求來(lái)到時(shí)一旦有連接建立請(qǐng)求來(lái)到時(shí),服務(wù)器進(jìn)程被喚醒并處理客戶進(jìn)程的連接建立,服務(wù)器進(jìn)程

14、被喚醒并處理客戶進(jìn)程的連接建立請(qǐng)求。請(qǐng)求。 面向連接的服務(wù)器進(jìn)程通過(guò)面向連接的服務(wù)器進(jìn)程通過(guò)listen( )和和accept( ) 系系統(tǒng)調(diào)用來(lái)接收并處理客戶進(jìn)程的連接建立請(qǐng)求。統(tǒng)調(diào)用來(lái)接收并處理客戶進(jìn)程的連接建立請(qǐng)求。l1isten( )系統(tǒng)調(diào)用將服務(wù)器進(jìn)程設(shè)置為系統(tǒng)調(diào)用將服務(wù)器進(jìn)程設(shè)置為偵聽或服務(wù)等待偵聽或服務(wù)等待狀態(tài);狀態(tài);laccept( )系統(tǒng)調(diào)用用于服務(wù)器進(jìn)程系統(tǒng)調(diào)用用于服務(wù)器進(jìn)程受理受理客戶進(jìn)程的連接客戶進(jìn)程的連接建立請(qǐng)求。建立請(qǐng)求。11第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -1isten( )系統(tǒng)調(diào)用系

15、統(tǒng)調(diào)用 listen( ) 使服務(wù)器端的服務(wù)進(jìn)程處于連接偵聽或等使服務(wù)器端的服務(wù)進(jìn)程處于連接偵聽或等待狀態(tài),如果有客戶端建連請(qǐng)求到來(lái),則把它放待狀態(tài),如果有客戶端建連請(qǐng)求到來(lái),則把它放入到等待隊(duì)列中排隊(duì)等待處理,其調(diào)用格式為:入到等待隊(duì)列中排隊(duì)等待處理,其調(diào)用格式為:llisten(sockid,quelen)其中:其中:lsockid,本地,本地socket號(hào),服務(wù)器進(jìn)程在此號(hào),服務(wù)器進(jìn)程在此socket地址上地址上接收連接建立請(qǐng)求。接收連接建立請(qǐng)求。lquelen,服務(wù)端連接建立請(qǐng)求隊(duì)列長(zhǎng)度。,服務(wù)端連接建立請(qǐng)求隊(duì)列長(zhǎng)度。listen( )系統(tǒng)系統(tǒng)調(diào)用以此參數(shù)限制連接請(qǐng)求的排隊(duì)個(gè)數(shù),通常允

16、許的調(diào)用以此參數(shù)限制連接請(qǐng)求的排隊(duì)個(gè)數(shù),通常允許的連接請(qǐng)求排隊(duì)長(zhǎng)度最大值為連接請(qǐng)求排隊(duì)長(zhǎng)度最大值為5。12第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -accept( )系統(tǒng)調(diào)用系統(tǒng)調(diào)用 accept( )用于服務(wù)器進(jìn)程處理客戶進(jìn)程的連接建立用于服務(wù)器進(jìn)程處理客戶進(jìn)程的連接建立請(qǐng)求,當(dāng)?shù)却?duì)列沒(méi)有連接請(qǐng)求時(shí),服務(wù)進(jìn)程處于請(qǐng)求,當(dāng)?shù)却?duì)列沒(méi)有連接請(qǐng)求時(shí),服務(wù)進(jìn)程處于睡眠狀態(tài),否則,響應(yīng)并處理建連請(qǐng)求,其調(diào)用格睡眠狀態(tài),否則,響應(yīng)并處理建連請(qǐng)求,其調(diào)用格式如下:式如下:newsock = accept(sockid,clienta

17、ddr,addrlen)lsockid,本地,本地socket號(hào)。號(hào)。lclientaddr,指向客戶端,指向客戶端socket地址結(jié)構(gòu)的指針,初始值為空,當(dāng)?shù)刂方Y(jié)構(gòu)的指針,初始值為空,當(dāng)accept調(diào)用返回后,客戶進(jìn)程的調(diào)用返回后,客戶進(jìn)程的socket地址被填入該地址結(jié)構(gòu)中地址被填入該地址結(jié)構(gòu)中.laddrlen,初值為,初值為0,當(dāng),當(dāng)accept調(diào)用返回后存放客戶調(diào)用返回后存放客戶socket地址長(zhǎng)度。地址長(zhǎng)度。13第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT - 在支持多進(jìn)程在支持多進(jìn)程/線程處理的服務(wù)器中,為了提高處

18、理效率線程處理的服務(wù)器中,為了提高處理效率,優(yōu)化程序結(jié)構(gòu),當(dāng),優(yōu)化程序結(jié)構(gòu),當(dāng)accept 接收一個(gè)建連請(qǐng)求后,由主服接收一個(gè)建連請(qǐng)求后,由主服務(wù)進(jìn)程創(chuàng)建一個(gè)子進(jìn)程務(wù)進(jìn)程創(chuàng)建一個(gè)子進(jìn)程/線程(即從服務(wù)器),從服務(wù)器線程(即從服務(wù)器),從服務(wù)器通過(guò)新分配的通過(guò)新分配的socket 號(hào)(號(hào)(newsock)來(lái)真正處理)來(lái)真正處理客戶進(jìn)程客戶進(jìn)程的的通信通信(數(shù)據(jù)(數(shù)據(jù)收發(fā)收發(fā)或撤連請(qǐng)求)或撤連請(qǐng)求)。而主服務(wù)器進(jìn)程則繼續(xù)。而主服務(wù)器進(jìn)程則繼續(xù)通過(guò)原來(lái)的通過(guò)原來(lái)的sockid來(lái)處理其他客戶進(jìn)程的連接建立請(qǐng)求,來(lái)處理其他客戶進(jìn)程的連接建立請(qǐng)求,從而實(shí)現(xiàn)以一對(duì)多的服務(wù)。從而實(shí)現(xiàn)以一對(duì)多的服務(wù)。 在不支持

19、多進(jìn)程在不支持多進(jìn)程/線程處理的服務(wù)器中,則采用事件線程處理的服務(wù)器中,則采用事件FIFO排隊(duì)和選擇排隊(duì)和選擇的機(jī)制(的機(jī)制(select 服務(wù)調(diào)用)服務(wù)調(diào)用) 來(lái)實(shí)現(xiàn)以一對(duì)多的服務(wù)。來(lái)實(shí)現(xiàn)以一對(duì)多的服務(wù)。 當(dāng)當(dāng)newsock的值小于的值小于0時(shí),表明時(shí),表明accept( )調(diào)用出錯(cuò)。調(diào)用出錯(cuò)。accept( )系統(tǒng)調(diào)用系統(tǒng)調(diào)用(cont.)14第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -利用利用accept( )建立并發(fā)服務(wù)器建立并發(fā)服務(wù)器 客戶socket 原socket fork 連接建立 連接請(qǐng)求 listen(

20、) accept( ) 請(qǐng)求處理 connect( ) 主進(jìn)程 子進(jìn)程 客戶 新socket 數(shù)據(jù)收發(fā)連接拆除15第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -5發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù) 面向連接面向連接的數(shù)據(jù)發(fā)送調(diào)用可以不必指定接收方的數(shù)據(jù)發(fā)送調(diào)用可以不必指定接收方socket地址,因?yàn)榈刂?,因?yàn)閟ockid中已包含通信的中已包含通信的5元組元組:lsend(sockid,buf,buflen,flags) 無(wú)連接無(wú)連接的數(shù)據(jù)發(fā)送調(diào)用必須明確指定接收方的的數(shù)據(jù)發(fā)送調(diào)用必須明確指定接收方的socket地址地址:lsendto(sock

21、id,buf,buflen,flags,destadd,addrlen)16第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -6接收數(shù)據(jù)接收數(shù)據(jù)接收數(shù)據(jù)調(diào)用與發(fā)送數(shù)據(jù)調(diào)用是一一對(duì)應(yīng)的。接收數(shù)據(jù)調(diào)用與發(fā)送數(shù)據(jù)調(diào)用是一一對(duì)應(yīng)的。 面向連接的數(shù)據(jù)接收面向連接的數(shù)據(jù)接收l(shuí)recv(sockid,buf,buflen,flags) 無(wú)連接的數(shù)據(jù)發(fā)送無(wú)連接的數(shù)據(jù)發(fā)送lrecvfrom(sockid,buf,buflen,flags,suradd,addrlen)17第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編

22、程接口- NUDT - NUDT -7其他服務(wù)調(diào)用其他服務(wù)調(diào)用getservbyname()獲取服務(wù)端口號(hào)獲取服務(wù)端口號(hào)gethostbyname()獲取主機(jī)獲取主機(jī)IP地址地址getpeername()獲取對(duì)方獲取對(duì)方IP地址地址gethostbyaddr()-獲取給定獲取給定IP的機(jī)器域名的機(jī)器域名網(wǎng)絡(luò)字節(jié)順序:網(wǎng)絡(luò)字節(jié)順序:16bits: 低低8位位| 高高8位位; 32bits: 0-7|8-15|16-23|24-31主機(jī)字節(jié)順序:主機(jī)字節(jié)順序:16bits: 高高8位位|低低8位位; 32bits: 31-0htonl()將主機(jī)上將主機(jī)上32位的端口轉(zhuǎn)換到網(wǎng)絡(luò)上的格式位的端口轉(zhuǎn)換到

23、網(wǎng)絡(luò)上的格式htos() 將主機(jī)上將主機(jī)上16位的端口轉(zhuǎn)換到網(wǎng)絡(luò)上的格式位的端口轉(zhuǎn)換到網(wǎng)絡(luò)上的格式ntohl()-將網(wǎng)絡(luò)上將網(wǎng)絡(luò)上32位的端口轉(zhuǎn)換到主機(jī)上的格式位的端口轉(zhuǎn)換到主機(jī)上的格式ntohs() -將網(wǎng)絡(luò)上將網(wǎng)絡(luò)上16位的端口轉(zhuǎn)換到主機(jī)上的格式位的端口轉(zhuǎn)換到主機(jī)上的格式inet_addr()將將xxx.xxx.xxx.xxx表示的表示的IP地址轉(zhuǎn)換為地址轉(zhuǎn)換為32位的位的Internet地址。地址。inet_ntoa()-將將32位的位的Internet地址的地址的IP地址轉(zhuǎn)換為地址轉(zhuǎn)換為xxx.xxx.xxx.xxx格式。格式。18第十二章第十二章 Clinet/Server模型與模型與Socket編程接口編程接口- NUDT - NUDT -面向連接客戶

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論