網(wǎng)絡編程試題_第1頁
網(wǎng)絡編程試題_第2頁
網(wǎng)絡編程試題_第3頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、精品文檔華清遠見嵌入式學院第二學期期中考試一、選擇題 (10 題,每題2 分,共 20 分 )1.如果進程A 調(diào)用 fork函數(shù),創(chuàng)建進程B,然后進程B 再調(diào)用 fork函數(shù),創(chuàng)建進程C,進程 C 調(diào)用exec 執(zhí)行新的程序,那么各個進程將以什么順序來執(zhí)行:( D )。A 以 A、 B、 C的順序執(zhí)行B 以 C、 B、 A 的順序執(zhí)行C 以 B、 C、 A 的順序執(zhí)行D 無固定執(zhí)行順序2. 以下對早期 ARPAnet的描述不正確的是 ( D )A使用 NCP協(xié)議B不能互聯(lián)不同類型的計算機C沒有糾錯功能D可以互聯(lián)不同類型的操作系統(tǒng)3. Internet 中的世界語是 ( C )A TCPB IP

2、C TCP/IPD http4. 以下不屬于 socket 的類型的是 ( D ) 。A 流式套接字B 數(shù)據(jù)報套接字C 原始套接字D 網(wǎng)絡套接字5. 以下關于 socket 的描述錯誤的是 ( C )A 是一種文件描述符B 是一個編程接口C 僅限于 TCP/IPD 可用于一臺主機內(nèi)部不同進程間的通信6. 路由器是根據(jù)哪一層的信息為數(shù)據(jù)包選擇路由( C )A物理層B數(shù)據(jù)鏈路層C網(wǎng)絡層D傳輸層7.為了解決在不同體系結構的主機之間進行數(shù)據(jù)傳遞可能會造成歧義的問題,以下( A ) 函數(shù)常常用來。1 歡迎下載精品文檔在發(fā)送端和接收端對雙字節(jié)或者四字節(jié)數(shù)據(jù)類型進行字節(jié)序轉(zhuǎn)換。A htons()/htonl

3、()/ntohs()/ntohl()B inet_addr()/inet_aton()/inet_.C gethostbyname()/gethostbyaddr()D (struct sockaddr *)&(struct sockaddr_in類型參數(shù) )8. 在實現(xiàn)基于 TCP的網(wǎng)絡應用程序時,服務器端正確的處理流程是( C )A socket() - bind() - listen() - connect() - read()/write() - close()B socket() - bind() - listen() - read()/write() - close()C sock

4、et() - bind() - listen() - accept() - read()/write() - close()D socket() - connect() - read()/write() - close()9. 只用于同一主機內(nèi)部進程間通信的socket 應使用的協(xié)議族是 ( B )A AF_INETB AF_UNIXC AF_NSD AF_IMPLINK10. 以下哪個協(xié)議不是用在網(wǎng)絡層的( D )A IGMPB IPC ICMPD SMTP二、判斷題 (15 題,每題1 分 )1. 信號是一種同步通訊方式 ( F )2.可以使用signal() 來給同一進程組中的所有進程發(fā)

5、送信號( F )3.從一個空FIFO 中讀取數(shù)據(jù)時會發(fā)生阻塞,但從一個空PIPE 中讀取數(shù)據(jù)時不會發(fā)生阻塞 ( F )4. IP地址均為 32位( F )5. 大端序表示高位字節(jié)存儲在高地址( F )6. bind() 函數(shù)用于將套接字和某個地址綁定( T )7. connect() 函數(shù)既可以用于 TCP,也可以用于 UDP ( T )8. 每個套接字最多只能 connect 一次 ( F )9.為了區(qū)分一臺主機接收到的網(wǎng)絡數(shù)據(jù)包應該遞交給哪個套接字來處理,要根據(jù)端口號( T )10.無論是 TCP socket ,還是 UDP socket ,它們的服務器端必須調(diào)用bind() 函數(shù)來綁定

6、一個地址,這樣客戶端才可以和服務器端通信( T )11. 發(fā)送一個 UDP數(shù)據(jù)報,必須使用 sendto() 函數(shù) ( F )12.當 inet_addr(char *address)的參數(shù) address 包含不合法的IP 地址時,函數(shù)返回0 ( F )閱讀以下程序,完成13-15 題。listenfd = socket();bind(listenfd,);。2 歡迎下載精品文檔listen(listenfd,);for( ; ; ) connfd = accept(listenfd,);if( pid = fork( ) = 0)recv(connfd,);send(connfd,);el

7、se exit(0);13. 這是一個并發(fā)服務器。 ( F )14. 在任何時候,該服務器只能處理一個客戶端的請求。( T )15. 隨著服務器端接受越來越多的請求,connfd 的值變得越來越大。 ( T )三、簡答題 (5 題,每題5 分,共 25 分 )1.如何在并發(fā)程序中避免僵尸進程?( 父進程不阻塞,不輪詢,描述思路或?qū)懗龃a)方式一:在父進程中忽略SIGCHLD信號方式二:在父進程中捕捉SIGCHLD信號,并在信號處理函數(shù)中用waitpid回收子進程2. 兩個線程分別讀寫同一個緩沖區(qū),初始時緩沖區(qū)中無數(shù)據(jù)。( read()/讀緩沖區(qū)write() /寫緩沖區(qū)sem_t /信號量類型

8、void init_sem(sem_t *s, int value)/初始化信號量s 的值為 valuevoid p(sem_t *s)/對信號量s 進行 p 操作void v(sem_t *s)/對信號量s 進行 v 操作 ) 定義需要的信號量并初始化sem_t s_r, s_w;init_sem(&s_r, 0);init_sem(&s_w, 1);寫線程寫緩沖區(qū)的代碼p(&sem_w);write();v(&sem_r);。3 歡迎下載精品文檔讀線程讀緩沖區(qū)的代碼p(&sem_r);read();v(&sem_w);3. 簡述 TCP和 UDP的異同點相同點:都是傳輸層協(xié)議不同點: tc

9、p 協(xié)議面向連接,提供可靠的傳輸;udp 協(xié)議無連接,不保證可靠的傳輸4. 什么是高可靠性通信?數(shù)據(jù)無錯誤、數(shù)據(jù)無丟失、數(shù)據(jù)無失序、數(shù)據(jù)無重復到達5.簡述 UNIX/Linux下主要的四種IO 模型的特點阻塞式 IO 非阻塞式 IO IO 多路復用信號驅(qū)動 IO:最簡單、最常用;效率低:可以處理多路IO;需要輪詢,浪費CPU資源:同時出路多路IO 且不需要輪詢:異步通知模式,需要底層驅(qū)動的支持四、綜合題 (3 題,共 40 分,編程題可省略頭文件)1.什么是網(wǎng)絡體系結構?畫出 OSI 和 TCP/IP 參考模型的對應關系圖(包括每層常用的協(xié)議或應2. 編寫一個 TCP并發(fā)服務器端 程序,可以把客戶端發(fā)來的消息回射給客戶端(15 分)3. 編寫 UDP程序,通過多路 IO 復用同時處理標準輸入和套接字。當輸入為quit時程序結束;當通過套接字收到對方消息時回射給對方(15分 )int select(intnfds, fd_set *readfds,fd_set *writefds,fd_set*exceptfds,struct timeval*timeval);void FD_CLR(int fd, fd_set *set);int FD_I

溫馨提示

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

評論

0/150

提交評論