版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、網絡程序設計期末復習題第一章網絡基礎(1)計算機網絡程序設計是利用網絡應用編程接口編寫網絡應用程序,實現網絡應用進程間的信息交互功能。(2)網絡編程基于網絡協議,網絡編程接口訪問網絡協議提供的服務。(3)簡述osi七層協議的主要功能:名稱層次功 能物理層1實現計算機系統(tǒng)與網絡間的物理連接數據鏈路層2進行數據打包與解包,形成信息幀網絡層3提供數據通過的路由傳輸層4提供傳輸順序與相應信息會話層5建立和中止連接表示層6數據轉換,確認數據格式應用層7提供用戶程序接口(4)網絡互聯的目的是提供一個無縫的通信系統(tǒng)。為此,必須用互聯網協議屏蔽物理網絡的具體細節(jié),并提供一個虛擬網絡的功能。(5)每個ip地址被
2、分割成前綴和后綴兩部分。前綴用于確定計算機從屬的物理網絡,后綴則用于確定網絡上一臺單獨的計算機。(6)ip中主機地址為0的地址表示網絡地址。(7)網絡號后跟一個所有位全是1的后綴,就是直接廣播地址。(8)地址解析(address resolution)就是將計算機中的協議地址翻譯成物理地址(或稱mac地址,即媒體映射地址)。(9)一個系統(tǒng)的全域名由主機名、域名和擴展名三部分組成,各部分間使用“”分隔,例如。(10)在tcp/ip應用中,域名系統(tǒng)(dns)是一個分布的數據庫,由它來提供ip地址和主機名之間的映射信息。(11)以太網數據幀的長度必須在461518字節(jié)之間。(12)tcp和udp都用
3、一個16位的端口號來表示不同的應用程序。(13)tcp和udp把源端口號和目的端口號分別存入報文首部中。(14)網絡接口分別要發(fā)送和接收ip、arp和rarp數據,因此也必須在以太網的幀首部中加入16 bit的幀類型域以指明生成數據的網絡層協議。(15)當目的主機收到一個以太網數據幀時,數據就開始從協議棧中由底向上升,同時去掉各層協議加上的報文首部。每層協議盒都要去檢查報文首部中的協議標識,以確定接收數據的上層協議。這個過程稱作分用(demultiplexing)。(16)tcp和udp采用端口號來識別應用程序。(17)任何tcp/ip實現所提供的服務都使用通用端口號11023。(18)iee
4、e 802.3定義了一種具有七個字段的幀(mac):前導符、起始幀分界符、目標地址、源地址、pdu的長度/類型、數據以及crc。(19) ipv4中包含至少12個不同字段,且在沒有選項時長度為20個字節(jié),但在包含選項時可達60個字節(jié)。(20)解釋ip數據報格式中的標志(flg)的含義:包括3個1位標志,標識報文是否允許被分段和是否使用了這些域。第一位保留并設為0;第二位標識報文能否被分段,其中0表示報文可以被分段,1表示報文不能被分段;第三位只有在第二位為0時才有意義,這一位標識此報文是否是這一系列分段的最后一個,或者接收應用程序是否還希望有更多的段,0指示報文是最后一個。(21)分段偏移量(
5、fragment offset):指定分段在整個數據報中的位置。接收主機同時使用標志位和分段偏移,以重組被分段的數據報。這個值以64位為單位遞增。(22)生命周期(ttl,time to live):代表數據報在被丟棄前能夠穿越的最大主機跳數。(23)ttl的初始值由源主機設置,其理論最大值為255,每經過一個處理節(jié)點減1。(24)ip數據報格式中設置頭校驗和(header checksum)的目的是保證報頭的正確性,目的機、網絡中的每個網關都要重新計算報頭的校驗和,如果計算出的校驗和與報文所含的校驗和不同,則丟棄該報文。(25)ip數據報格式中設置填充區(qū)(padding)的目的是為了保證ip
6、頭長度是32位的整數倍,要填充額外的0。(26)icmp作為ip協議的附屬協議,用來與其他主機或路由器交換錯誤報文和其他重要信息。(27)ip層協議的另一個附屬協議是igmp(internet組管理協議),它用來把一個udp數據報多播或組播到多個主機。(28)tcp使用ip作為網絡層協議。tcp的全稱是transmission control protocol,即傳輸控制協議。(29)ip首部中的源端口字段和源ip地址的作用是標識發(fā)送報文的計算機及應用程序。(30)ip首部中的目標端口字段和目標ip地址的作用是標識接收報文的計算機及應用程序。(31)如果將字節(jié)流看作在兩個應用程序間的單向流動,
7、則tcp用序號字段對每個字節(jié)進行計數。(32)在動態(tài)路由網絡中,報文很可能使用不同的路由,因此,報文可能亂序。利用序號字段可以糾正傳輸導致的亂序,從而重組分段的報文。(33)確認序號應當是上次已成功收到的數據字節(jié)序號加1。只有ack標志置1時此字段才有效。(34)發(fā)送ack無需任何代價,因此,一旦連接建立,該字段總是被設置,ack標志也總是置 1 。(35)窗口(window)是16位字段,它表明接收端聲明可以接收的tcp數據段的大小,最大為65 535字節(jié)。(36)校驗和對整個tcp報文段進行,包括tcp首部和tcp數據。如果收到的內容沒有被改變過,雙方的計算結果應完全一樣,保證了數據的有效
8、性。(37)校驗和(checksum)是16位的字段,它是一個強制性的字段,由發(fā)送端計算存儲,由接收端進行驗證。(38)可靠傳輸服務軟件所應具有的特征如下:(1) 面向數據流:數據流(stream)就是兩個應用程序間傳輸的數據。(2) 電路連接:包括連接的建立、通信的開始及連接的結束都要求所建立的連接是可靠的,連接的結束要完美(在連接終止前傳送的所有數據均為可靠的)。(3) 帶緩沖的傳送。(4) 無結構的數據流,即不考慮數據內容。(5) 全雙工連接:包含兩個獨立且方向相反的連接。(39)tcp提供一個可靠連接的方式是通過三次握手(three-way handshake)來完成的。(40)建立一
9、個tcp連接需要三次握手,而正常終止一個連接要經過四次握手,這是由tcp的半關閉(half-close)特性造成的。(41)udp協議只負責接收和傳送由上層協議傳遞的消息,它本身不做任何檢測、修改與應答,上層協議需要自己處理這些事務。(42)udp的報頭格式較簡單,主要是地址信息、包的長度和校驗信息。與此對應,tcp包的頭信息有10多個域。(43)理論上,ip數據報的最大長度為65 535字節(jié),這是由ip首部16位字段所限制的。去除20字節(jié)的ip首部和8個字節(jié)的udp首部,udp數據報中用戶數據的最大長度為65 507字節(jié)。但大多數實現所提供的長度比這個最大值小,這主要是因為存在兩個限制因素:
10、一個是因為應用程序可能會受到其程序接口的限制,socket api提供了一個可供應用程序調用的函數,以設置接收和發(fā)送緩存的長度?,F在的大部分系統(tǒng)都默認提供了可讀/寫大于8192字節(jié)的udp數據報。另一個限制來自于tcp/ip的內核,不同的系統(tǒng)可能存在一些實現特性的差異,使ip數據報長度小于65 535字節(jié)。(44)arp(address resolution protocol,地址解析協議)和rarp(reverse address resolution protocol,逆向地址解析協議)是某些網絡接口(如以太網和令牌環(huán)網)使用的特殊協議,用來轉換ip層和網絡接口層使用的地址。(45)源抑制
11、是一個流控制信息,由接收方向源主機發(fā)送該信息來請求源主機停止發(fā)送數據。當接收主機在其緩沖區(qū)快滿時發(fā)送該信息。(46)路徑重定向是由網關向請求其提供服務的主機發(fā)送,用于通知該主機在網絡中還有其他距離目的主機更近的網關。(47)為了防止由于icmp差錯報文響應所引發(fā)的廣播風暴,協議規(guī)定當接收端收到下列報文時不會產生icmp差錯報文:(1) icmp差錯報文(但icmp查詢報文可能會產生icmp差錯報文)。(2) 目的地址是廣播地址或多播地址的ip數據報。(3) 作為鏈路層廣播的數據報。(4) 不是ip數據報第一個分片的數據報。(5) 源地址不是單個主機的數據報。這就是說,源地址不能為零地址、環(huán)回地
12、址、廣播地址或多播地址。(48)網絡通信常常是在多個平臺之間進行的,因此網絡應用程序必須考慮不同平臺之間的異構性,這些差異主要表現在哪些方面?(1)字節(jié)順序。不同的平臺以不同的方式存放一個二進制數。最常見的有兩種格式:大數在前(big-endian)的字節(jié)順序和小數在前(little-endian)的字節(jié)順序。大數在前的字節(jié)順序是指將一個多字節(jié)數的高序字節(jié)存儲在內存的起始地址;而小數在前的字節(jié)順序則相反,將低序字節(jié)存儲在內存的起始地址。因此,作為網絡編程人員,必須清楚各種字節(jié)順序間的區(qū)別,并采用相應的措施來解決因這種差別所帶來的問題。(2)字的長度。不同的實現對于相同的數據類型可能有不同的表示
13、長度。例如32位和64位操作系統(tǒng)中,類型long int的長度是不一樣的。(3)字節(jié)定界問題。不同的平臺上為結構體(struct)或共同體(union)打包的方式也是不同的,這取決于所有數據類型的位數及機器的定界限制。(4)另一種解決該問題的方法是將需要發(fā)送的信息的結構在發(fā)送前變換成一種統(tǒng)一的格式(轉換成一個字符數組),到達接收方后再執(zhí)行相反的過程。對于數據結構中有比特變量的情況,處理起來更加復雜,因此,在實際網絡編程中盡量不要使用比特變量。在很多網絡協議的設計中,常常需要填充一些無用的字節(jié)以滿足四字節(jié)定界,從而簡化協議的實現。(49)網絡編程應考慮的問題有哪些?(1)并發(fā)環(huán)境下的網絡編程。單
14、進程應用與多進程或多線程應用程序的編程有著很大的區(qū)別。在多進程或多線程應用程序中,涉及到資源共享、進程或線程間的同步,因而要復雜得多。在多進程或多線程應用中,使用的系統(tǒng)調用或函數必須是可重入的。不同系統(tǒng)中可重入的系統(tǒng)調用或系統(tǒng)函數是不同的,一般都會有詳細的說明。對于那些不可重入的調用或函數,系統(tǒng)如果不提供多線程安全的版本,則應用編程人員需要避免使用或自己編寫相應的函數;(2)異構環(huán)境下的網絡編程。字節(jié)順序、字的長度、字節(jié)定界問題等。(3)阻塞與非阻塞通信。(4)服務類型的選擇;(5)差錯處理第2章winsock基礎(1)套接字(socket)是網絡通信的基本構件,是可以被命名和尋址的通信端點,
15、使用中的每一個套接字都有其類型和與之相連的進程。(2)windows sockets只支持一個通信區(qū)域:網際域(af-inet),這個域被使用網際協議族通信的進程所使用。(3)tcp/ip的socket提供三種類型的套接字:* 流式套接字(sock_stream):提供一個面向連接的、可靠的數據傳輸服務,數據無差錯、無重復地發(fā)送,且按發(fā)送順序接收。內設流量控制,避免數據流超限;數據被看作是字節(jié)流,無長度限制。文件傳輸協議(ftp)即使用流式套接字。* 數據報式套接字(sock_dgram):提供一個無連接服務。數據報以獨立包形式被發(fā)送,不提供無錯保證,數據可能丟失或重復,且接收順序混亂。網絡文
16、件系統(tǒng)(nfs)使用數據報式套接字。* 原始式套接字(sock_raw):該接口允許對較低層協議,如ip、icmp直接訪問。常用于檢驗新的協議實現或訪問現有服務中配置的新設備。 (4)tcp/ip協議提出可協議端口(protocol port,簡稱端口)的概念,用于標識通信的進程。(5)在tcp/ip協議的實現中,端口操作類似一般的i/o操作,進程獲取一個端口,相當于獲取本地唯一的i/o文件。(6)類似于文件描述符,每個端口都擁有一個叫端口號(port number)的整數型標識符,用于區(qū)別不同的端口。(7)由于tcp/ip傳輸層的兩個協議tcp和udp是完全獨立的兩個軟件模塊,因此各自的端口
17、號也相互獨立。(8)端口號的分配是個重要問題,有兩種基本分配方式:全局分配和本地分配。(9)網絡中用一個三元組(協議,本地地址,本地端口號)可以在全局唯一標志一個進程,這個三元組叫半相關(half-association),它指定連接的每半部分。(10)一個完整的網間通信需要用一個五元組(協議,本地地址,本地端口號,遠地地址,遠地端口號)來標識,這個五元組叫全相關(association),即兩個協議相同的半相關才能組成一個合適的相關,或完全指定組成一連接。(11)在字節(jié)流服務中,由于沒有報文邊界,用戶進程在某一時刻可以讀/寫任意數量的字節(jié)。(12)為保證傳輸正確或采用有流控制的協議,都要進行
18、緩存。但對某些特殊的需求,如交互式應用程序,又會要求取消這種緩存。(13)客戶機/服務器模式的建立基于以下兩點:首先,建立網絡的起因是網絡中軟/硬件資源、運算能力和信息不均等,需要共享,從而形成擁有眾多資源的主機提供服務,資源較少的客戶請求服務這一非對稱的情況。其次,網間進程通信完全是異步的,相互通信的進程間既不存在父子關系,又不共享內存緩沖區(qū),因此需要一種機制為希望通信的進程間建立聯系,為二者的數據交換提供同步,這就是基于客戶機/服務器模式的tcp/ip。(14)客戶機/服務器模式在操作過程中采取主動請求方式:(1) 服務器方啟動,并根據請求提供相應的服務,其工作流程如下:* 打開一通信通道
19、并告知本地主機,它愿意在某公認地址(如ftp:21)上接收客戶請求。* 等待客戶請求到達該端口。* 接收到重復服務請求,處理該請求并發(fā)送應答信號。接收到并發(fā)服務請求,要激活一新進程來處理這個客戶請求(如unix系統(tǒng)中用fork、exec)。新進程處理此客戶請求,并不需要對其他請求作出應答。* 返回第二步,等待另一客戶請求。* 關閉服務器。(2) 客戶機方工作流程如下:* 打開一通信通道,并連接到服務器所在地的主機特定端口。* 向服務器發(fā)送服務請求報文,等待并接收應答,繼續(xù)提出請求。* 請求結束后關閉通信通道并終止。從上面描述的過程可知:* 客戶機與服務器進程的作用是非對稱的,因此編碼不同。*
20、服務進程一般是先于客戶機請求而啟動的,只要系統(tǒng)運行,該服務進程一直存在,直到正常終止或強迫終止。(15)windows sockets由兩部分組成:開發(fā)組件和運行組件。開發(fā)組件:windows sockets 實現文檔、應用程序接口(api)引入庫和一些頭文件。運行組件:windows sockets應用程序接口的動態(tài)鏈接庫(winsock.dll)。(16)windows sockets的異步選擇函數提供了消息機制的網絡事件選擇,當使用它登記的網絡事件發(fā)生時,windows應用程序相應的窗口函數將收到一個消息,消息中指示了發(fā)生的網絡事件以及與事件相關的一些信息。(17)windows soc
21、kets提供了一個異步選擇函數 wsaasyncselect(),用它來注冊應用程序感興趣的網絡事件,當這些事件發(fā)生時,應用程序相應的窗口函數將收到一個消息。(18)異步請求函數允許應用程序用異步方式獲得請求的信息,且在請求的服務完成時給應用程序相應的窗口函數發(fā)送一個消息。(19)windows是非搶先的多任務環(huán)境,即若一個程序不主動放棄其控制權,別的程序就不能執(zhí)行。(20)在設計windows sockets程序時,盡管系統(tǒng)支持阻塞操作,但還是不提倡程序員使用該操作。(21)windows sockets如何實現阻塞處理:windows sockets為了實現當一個應用程序的套接字調用處于阻
22、塞時,能夠放棄cpu讓其他應用程序運行,它在調用處于阻塞時便進入一個叫“hook”的例程,此例程負責接收和分配windows消息,這使得其他應用程序仍然能夠接收到自己的消息并取得控制權。(22)在windows sockets中,有一個默認的阻塞處理例程blockinghook()可簡單地獲取并發(fā)送windows消息。如果要對復雜的程序進行處理,windows sockets中還有wsasetblockinghook()函數可供用戶安裝自己的阻塞處理例程;與該函數相對應的則是wsaunhookblockinghook(),它用于刪除先前安裝的任何阻塞處理例程,并重新安裝默認的處理例程。注意,設
23、計自己的阻塞處理例程時,除了函數wsacancelblockinghook()之外,不能使用其他的winsock api函數。在處理例程中調用wsacancelblockinghook()函數將取消處于阻塞的操作并結束阻塞循環(huán)。(23)windows sockets為了和多線程環(huán)境(如windows nt)兼容,提供了兩個出錯處理函數wsagetlasterror()和wsasetlasterror()來獲取和設置當前線程的最近錯誤號。(24)由于windows sockets的服務是以動態(tài)鏈接庫winsock.dll的形式實現的,因此必須先調用wsastartup()函數對windows s
24、ockets dll進行初始化,協商windows sockets版本支持,并分配必要的資源。在應用程序中完成了對windows sockets的使用之后,還應調用函數wsacleanup()終止對windows sockets dll的使用,并釋放資源,以備下一次使用。在這些函數中,實現windows網絡實時通信的關鍵是異步選擇函數wsaasyncselect()的使用。(25)winsock的啟動是通過調用wsastartup函數,實現windows sockets dll的初始化,協商winsock的版本支持,并分配必要的資源。如果在調用winsock函數之前,沒有加載winsock庫,
25、則返回socket_error錯誤,錯誤信息是wsanotinitialised。(26)請繪制數據報套接字編程時序圖。(27)請繪制流式套接字編程時序圖。數據報套接字編程時序圖流式套接字編程時序圖(28)windows 套接字在兩種模式下執(zhí)行i/o 操作:阻塞和非阻塞。(29)winsock 提供了不同套接字i/o模型操作進行管理,常見的winsocki/o模型有select模型、wsaasyncselect模型、wsaeventselect模型。(30)select函數中int wsaapi select(intnfds,fd_set far*readfds,fd_set far*writ
26、efds,fd_set far*exceptfds,const struct timeval far *timeout); 參數readfds指向要做讀檢測的套接字描述符集合的指針,調用者希望從中讀取數據;參數writefds指向要做寫檢測的套接字描述符集合的指針;參數exceptfds指向要檢測是否出錯的套接字描述符集合的指針;(31)winsock提供了4個宏對fd_set結構進行操作,分別是:* fd_clr(s, *set):從集合set中刪除描述字s。* fd_isset(s, *set):若s為集合中一員,則非零,否則為零。* fd_set(s, *set):向集合添加描述字。*
27、fd_zero(s, *set):將set初始化為空集null。(32)wsaasyncselect模型是winsock中另一個常用的異步i/o模型。利用這個模型可在一個套接字上接收以windows消息為基礎的網絡事件通知。(33)若無錯誤發(fā)生,wsaenumprotocols()返回協議的數目,否則返回invalid_socket錯誤,應用程序可通過wsagetlasterror()來獲取相應的錯誤代碼。(34)winsock 2引入了重疊i/o的概念并且要求所有的傳輸協議提供者都支持這一功能。它的基本原理是讓應用程序使用一個重疊的數據結構,一次投遞一個或多個winsock i/o請求,針對
28、那些提交的請求,在它們完成之后,應用程序可為它們提供服務。應用程序可通過readfile和writefile兩個函數執(zhí)行i/o操作。(35)當應用程序使用setsockopt函數把接收緩沖區(qū)長度設置為0時,對可靠傳輸協議,數據直到應用程序提供了接收緩沖區(qū)后才被接收,而對不可靠傳輸協議,數據將會丟失。 (36)winsock 2中qos的使用模型如下:(1) 對基于連接的傳輸服務,應用程序可以很方便地在使用wsaconnect函數提出連接請求時規(guī)定它所要求的服務質量(qos)。(2) 無連接的套接字也可以使用wsaconnect函數為一個指定的通信規(guī)定特定的qos級別,wsaioctl函數也可用
29、來規(guī)定初始的qos要求,或者用于今后的qos協商。(37)套接字具有很多套接字選項,這些選項代表套接字在不同需要下的行為,通過setsockopt函數和getsockopt函數可以靈活地設置和獲取某個套接字的行為方式。(38)調用setsockopt和getsockopt函數時,最常見的錯誤是試圖獲得一個套接字的信息,但那個套接字的基層協議卻不具備某種指定的特性(或選項)。第3章基本網絡應用(1)函數int gethostname(char *name, int namelen); 參數name是一個指向將要存放主機名的緩沖區(qū)指針。namelen用于指定緩沖區(qū)的長度。該函數把本地主機名存入由n
30、ame參數指定的緩沖區(qū)中,返回的主機名是一個以null結束的字符串。主機名的形式取決于winsock實現,它可能是一個簡單的主機名,或者是一個域名。然而,返回的名字必定可以在gethostbyname()和wsaasyncgethostbyname()中使用。如果沒有錯誤發(fā)生,gethostname()返回0;否則它返回socket_error。 (2)函數struct hostent *gethostbyname(const char *name);中name為指向主機名的指針,它一般由函數gethostname返回。函數返回對應于給定主機名的包含主機名字和地址信息的hostent結構指針,
31、該結構格式如下: struct hostentchar far*h_name;char far far*h_aliases;shorth_addrtype;shorth_length;char far far*h_addr_list; 其中:字段h_name為正規(guī)的主機名;字段h_aliases是一個以空指針結尾的可選主機名隊列;字段h_addrtype返回地址的類型,對winsock這個域總是af_inet;字段h_length為每個地址的長度(字節(jié)數),對應于af_inet這個域應該為4;字段h_addr_list為以空指針結尾的主機地址的列表,返回的地址是以網絡順序排列的。(3)函數ge
32、tadaptersinfo可以獲得本地計算機的網絡信息,從而獲得該計算機的網卡名、網卡驅動程序、ip地址、子網掩碼、物理地址、是否啟用了dhcp、是否啟用了wins等網絡信息。注意該函數在頭文件iphlpapi.h中聲明,庫文件為iphlpapi.lib。(4)函數dword getadaptersinfo(pip_adapter_info padapterinfo, pulong poutbuflen); 其中:參數padapterinfo指向ip_adapter_info結構鏈表緩沖區(qū)的指針;參數poutbuflen指向一個ulong變量的指針,該ulong變量表示指向padapterin
33、fo結構的大小。 參數中的ip_adapter_info結構包含了本地計算機上一個特定網絡適配卡的信息。(5)針對指定的工作站上安裝哪種協議和各種協議特性的返回問題,winsock 2提供了一種解決方法。如果一個協議支持多種行為,則每類行為在系統(tǒng)中都有各自的目錄條目。比如,如果在自己的系統(tǒng)中安裝了tcp/ip,系統(tǒng)中就會有兩個ip條目:一個條目針對tcp,是可靠的面向連接的,另一個針對ip,是不可靠且無連接的。 (6)要想獲得系統(tǒng)中安裝的網絡協議的相關信息,可調用wsaenumprotocols函數,其原型為:int wsaenumprotocols(lpint lpiprotocols,lp
34、wsaprotocol_info lpprotocolbuffer, lpdword lpdwbufferlength);其中:參數lpiprotocols是一個以null結尾的協議標識號數組,該參數可選,如果lpiprotocols為null,則返回所有可用協議的信息,否則返回數組中所列的協議信息; 參數lpprotocolbuffer是一個用protocol_info結構填充的緩沖區(qū),該結構用來存取和獲得給定協議的完整信息;參數lpdwbufferlength在輸入時,用于保存?zhèn)鬟f給wsaenumprotocols()函數的lpprotocolbuffer緩沖區(qū)長度;在輸出時,存有獲取所有
35、請求信息需傳遞給wsaenumprotocols()函數的最小緩沖區(qū)長度。若無錯誤發(fā)生,wsaenumprotocols函數返回協議的數目,否則,返回invalid_socket錯誤,應用程序可通過wsagetlasterror()函數來獲取相應的錯誤代碼。 (7)通常需要兩次調用wsaenumprotocols函數以獲取特定的協議信息,第一次調用時指定lpprotocolbuffer為null,調用失敗,返回wsaenobufs錯誤,但參數lpdwbufferlength包含了所有協議信息需要的緩沖區(qū)長度。分配了恰當的緩沖區(qū)長度后,便可利用這個緩沖區(qū)進行第二次調用,協議的信息將包含在wsap
36、rotocol_info結構中。這樣就可以對該結構進行分析從而獲得所需要的協議信息。 (8)應用程序在使用套接字前,首先必須擁有一個套接字,系統(tǒng)調用socket()向應用程序提供創(chuàng)建套接字的手段,其調用格式如下: socket pascal far socket(int af, int type,int protocol); 該調用要接收三個參數:aftype,protocol。參數af指定通信發(fā)生的區(qū)域,dos和windows僅支持af_inet,它是網際網區(qū)域,因此,地址族與協議族相同。參數type描述要建立的套接字的類型。參數protocol說明該套接字使用的特定協議如果調用者不希望持別指定使用的協議,則置為o,使用默認的連接模式。根據這三個參數建立一個套接字,并將相應的資源分配給它,同時返回一個整型套接字號。因此,socke
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 娛樂行業(yè)演員培訓體會
- 情緒中班教案
- 關于小學生祖國在我心中演講稿模板集錦十篇
- 《證券法問題研究》課件
- 《玉石鑒賞下》課件
- 工藝設計管理 演示腳本-v1
- 《特種設備管理》課件
- 污染場地修復后土壤滲透-洞察分析
- 洗衣機維修成本控制-洞察分析
- 預測性維護技術發(fā)展-洞察分析
- (高清版)TDT 1053-2017 農用地質量分等數據庫標準
- 小學道德與法治課程標準與教材研究 課件 第七章 法治教育
- 聯合辦公協議書范本
- 高中數學家長會課件:夯實數學基礎培養(yǎng)數學思維
- 2024年中國遠洋海運集團招聘筆試參考題庫附帶答案詳解
- 2024年貴州能源集團電力投資有限公司招聘筆試參考題庫附帶答案詳解
- 生殖免疫學教案課件
- 沙糖桔互聯網創(chuàng)業(yè)計劃書
- 胃結石演示課件
- 書法知識之章法布局
- 2023乙型肝炎病毒標志物臨床應用專家共識(完整版)
評論
0/150
提交評論