《網(wǎng)絡編程技術》試題 2_第1頁
《網(wǎng)絡編程技術》試題 2_第2頁
《網(wǎng)絡編程技術》試題 2_第3頁
《網(wǎng)絡編程技術》試題 2_第4頁
《網(wǎng)絡編程技術》試題 2_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

成都信息工程學院考試試卷

學年第學期

課程名稱:網(wǎng)絡編程技術使用班級:網(wǎng)絡工程學院級

試卷形式:開卷口閉卷回

試總

—?二三四五六七八九十

題分

填空題(每空2分,共22分)

1.在基于TCP的通信中,主動關閉連接的一方會在TIME_WAIT狀態(tài)下等待

長度的時間。因此,主動關閉一方的程序無法馬上重新啟動并再次綁定相同的IP地址與

0K端口。這時可以使用函數(shù)并在參數(shù)中指字套接字選項。

2.名字到IP地址的解析使用的函數(shù)是,IP地址到域名的解析

-E鄒

使用的函數(shù)是。

3.為保證“大端”和“小端”字節(jié)序的機器之間能相互通信,需在發(fā)送多字節(jié)整數(shù)時,

S——將主機字節(jié)序轉換成。

4.socket。函數(shù)可以創(chuàng)建三類套接字,分別是TCP套接字,和。

5.bind。、connect。等函數(shù)在出錯的時候均會返回-1,具體出錯的原因的錯誤代碼可以在

全局變量___________中找到,調用可以將錯誤代碼轉換為它對應的字符串

信息。

6.在TCP連接中,若需要關閉某個方向的連接,可以使用函數(shù)。

7.gethostname(char*name,size」namelen)函數(shù)的功能是。

8.pselect(intrnaxM,fd_set*readset,fd_set*writeset,fd_set*exceptset,conststruct

timeval*timeout,constsigset_t*sigmask)函數(shù)的maxfd參數(shù)的值

是,timeout參數(shù)定義的超時時間精確到,sigmask

第1頁

參數(shù)的作用是。pselect函數(shù)返回值有三種情況,返回值為0

表示,返回值大于0表示,而返回值為-1時表示出錯。

9.設置SO_KEEPALIVE選項作用是。

10.pthread_key_create(pthread_key_t*key,void(*destructor)(void*value))函數(shù)的作用

是,其中destructor是,value

是,value的默認值是。

11.基于TCP協(xié)議的服務器端程序中,需要兩個描述符,它們分別是由函數(shù)

創(chuàng)建的負責的描述符,和由函數(shù)創(chuàng)建的負責的

描述符。

12.基于TCP協(xié)議的套接字服務器程序中,會產(chǎn)生兩個描述,其中之一是由

函數(shù)創(chuàng)建的描述符,其主要功能是:其中之二是由

函數(shù)創(chuàng)建的描述符,其主要功能是:

13.函數(shù)bind返回的一個常見錯誤是:所綁定的地址已被其它進程使用,為解決這個問

題,我們可以通過調用_____________________函數(shù),并為該函數(shù)的Optnaine(需設置

的選項)形參傳遞參數(shù)避免產(chǎn)生這個錯誤。

14.基TCP套接字程序中,服務器可以通過________函數(shù)返回與之通信的當前客戶端

的套接字地址結構。

15.pthread_detach(pthread_ttid)的作用是將一個線程變成線程。

16.基于TCP協(xié)議的套接字服務器程序中,會產(chǎn)生兩個描述,其中之一是由

函數(shù)創(chuàng)建的描述符,其主要功能是:其中之二

是由_____________________函數(shù)創(chuàng)建的描述符,其主要功能是:

17.在Liunx操作系統(tǒng)中支持五種I/O模型,分別是、

、、阻塞I/O模型和非阻塞I/O模型。

18.函數(shù)在進程內部分配一個標志TSD的關鍵字,并且該函數(shù)

其中一個形參是可選的析構函數(shù),當系統(tǒng)調用該析構函數(shù)時,傳遞的參數(shù)是

第2頁

19.以INADDR_ANY調用bind的服務器,在接收到連接后,調用函

數(shù)獲取系統(tǒng)選擇的IP地址。

20.如果用戶程序為發(fā)送網(wǎng)絡數(shù)據(jù)報構造自己的IPv4頭部,需創(chuàng)建套

接字,并且前提條件是:調用_______________函數(shù),給套接字設置________________選

二、判斷題(正確錯誤X)(每題1分,共14分)

題號1234567891011121314

-

-答案

-

-1.在用pthread庫編寫的多線程程序中,若主線程退出,則主線程創(chuàng)建的新線程將繼續(xù)

噩運行。()

K2.在TCP網(wǎng)絡程序中,connect。函數(shù)用于客戶端向服務器發(fā)起連接。而在UDP網(wǎng)絡程

序中,由于UDP是面向無連接的,所以connect。函數(shù)不能用于UDP客戶端。()

-£

郛3.inet_ntoa()函數(shù)可以將32位的網(wǎng)絡字節(jié)序二進制IPv4地址轉換成相應的字符串形式

赭的IP地址,但不能將二進制IPv6地址轉換成相應的字符串形式的IP地址。()

W

4.服務器程序通常都會調用bind。函數(shù)以綁定監(jiān)聽地址,而客戶端則很少調用它式)

——

5.當一個客戶SYN到達時,若未完成連接隊列和已完成連接隊列都是滿的,TCP就忽

略此分節(jié),且不發(fā)送RST。()

6.調用close。函數(shù)將立即關閉發(fā)送與接收這兩個方向的TCP連接而不管將關閉的套接

字的引用情況。()

7.在TCP客戶服務器通信中,若服務器端崩潰,則可以通過重啟服務器讓正在進行的

通信繼續(xù)。()

8.TCP迭代服務器在某一時刻最多只能存在一個客戶端與之建立的通信連接,而并發(fā)

服務器在某一時刻可以存在多個客戶端與之建立的通信連接。()

9.互斥鎖是一種專用于進程間數(shù)據(jù)同步的技術。()

10.當子進程正?;虍惓=K止時,系統(tǒng)內核會向其父進程發(fā)送SIGCHLD信號。()

——第3頁一一

11.可以使用原始套接口編程偽造IP數(shù)據(jù)包實現(xiàn)DoS攻擊。()

12.在多進程編程中,父進程用于監(jiān)聽,子進程用于為已經(jīng)連接客戶端提供服務,則父

進程必須關閉已連接套接字,子進程必須關閉監(jiān)聽套接字。()

13.調用bind。函數(shù)時,必須指明IP地址與端口號,而不能讓內核來選擇IP地址與端口

號。()

14.調用select函數(shù)可以實現(xiàn)與sleep函數(shù)一樣的延時間功能。()

15.connect()函數(shù)的作用是發(fā)起建立連接的請求。()

16.基于TCP協(xié)議的服務器端程序,可以通過accept。函數(shù)獲得與之通信的客戶端的

IP地址和端口號。()

17.基于UDP協(xié)議的服務器端和客戶端程序,在接收和發(fā)生數(shù)據(jù)時,必須使用sendto。

和recvform()函數(shù)。()

18.fork。函數(shù)和vfork()函數(shù)都可以創(chuàng)建子進程,所以基于這兩個函數(shù)都可以實現(xiàn)多進程

并發(fā)服務器。()

19.線程可以條用exit。函數(shù)退出,而且對同一進程的其他線程不會造成影響)

20.pthread」oin()函數(shù)可以等待任意線程的退出。()

21.標識線程專用數(shù)據(jù)的關鍵字key是進程惟一的。()

22.使用I/O復用技術可以實現(xiàn)并發(fā)服務器。()

23.對SO_KEEPALIVE選項中時間參數(shù)的修改,會影響到主機中打開該選項的所有套接

字。()

24.gelhostbyname(constchar*hostname)函數(shù)不允許將IP地址作為函數(shù)的參數(shù)。()

25.SO_LINGER選項可以改變TCP套接字關閉連接時的缺省行為。()

26.只要創(chuàng)建了原始套接字就可以自行構造IP報文的首部。()

27.可以對未加互斥鎖的數(shù)據(jù)進行解鎖。()

28.使用互斥鎖可以保證,在同一時間內,只允許一個線程訪問共享數(shù)據(jù)。()

29.select。函數(shù)可以實現(xiàn)計時器的功能。()

30.由確定通信的五元組(本地協(xié)議,本地IP,本地端口,遠程協(xié)議,遠程IP,遠程端

第4頁

口)可知,該(本地TCP,本地IP,本地端口,遠程UDP,遠程IP,遠程端口)六

元組所標識網(wǎng)絡中一個連接可以進行正常的網(wǎng)絡通信。

31.套接口是計算機操作系統(tǒng)為TCP/UDP協(xié)議與IP協(xié)議之間進行數(shù)據(jù)交互提供的接

口,又稱為套接字。

32.在IPv4套接字地址結構中,成員sin_port是用來存儲主機字節(jié)順序端口號。

33.默認情況下,close函數(shù)將套接字的訪問計數(shù)減法1,并丟棄發(fā)送緩沖區(qū)和接收緩沖

區(qū)的數(shù)據(jù),僅在次計數(shù)為0時才關閉套接字。

34.UDP套接字編程,調用recvfrom函數(shù)可以獲得通信的對方的套接字地址結構。

-

-35.wait()函數(shù)可以處理同時退出的多個線程進行。

-

-36.一個線程的崩潰不會影響同一進程中的其它線程。

-

噩37.在多線程并發(fā)服務器中,主線程生成子線程后,在主線程中要關閉已連接描述符,

施在子線程中要關閉監(jiān)聽描述符,

K

38.標識線程專用數(shù)據(jù)的關鍵字key是進程惟一的。

-£39.stdin設為非阻塞后,不能使用標準輸入輸出函數(shù)操作該句柄,而要通過read來操作。

赭40.非阻塞I/O的實現(xiàn)可以通過fcntl()來改變描述符的標志來實現(xiàn)。

W41.I/O復用模型調用select或poll,進程阻塞于這兩個系統(tǒng)調用上,而不是阻塞于真正

——

的I/O系統(tǒng)調用上。

42.在TCP服務器,為了接收更多的數(shù)據(jù),可以在接收數(shù)據(jù)調用read函數(shù)時,臨時更改

套接字接收緩沖區(qū)的大小。

43.改變某個描述符的SCLKEEPALIVE選項值,不會影響到主機上打開的其它描述符。

44.只要創(chuàng)建了原始套接字就可以自行構造IP報文的首部。

45.由確定通信的五元組(本地協(xié)議,本地IP,本地端口,遠程協(xié)議,遠程IP,遠程端

口)可知,該(本地TCP,本地IP,本地端口,遠程UDP,遠程IP,遠程端口)六

元組所標識網(wǎng)絡中一個連接可以進行正常的網(wǎng)絡通信。

46.套接字是計算機操作系統(tǒng)為TCP/UDP協(xié)議與IP協(xié)議之間進行數(shù)據(jù)交互提供的接

口,又稱為套接字。

——第5頁一一

47.在TCP的客戶端程序中,如果connect()函數(shù)調用失敗,則還可以繼續(xù)使用該套接

字。

48.在IPv4套結字地址結構中,in_addr結構體中的s_addr成員,存儲的便是我們主機

字節(jié)序的32位IPv4地址。

49.vfork()函數(shù)創(chuàng)建的子進程后,父進程和子進程誰先執(zhí)行,這取決于內核所使用的調度

算法,有可能父進程先于子進程執(zhí)行,也有可能子進程先于父進程執(zhí)行。

50.在UDP套接字程序中,客戶端與服務器通信時,必須使用sendto()和recvfrom()

函數(shù)。

51.waitpid()函數(shù)可以處理同時退出的多個進程進行。

52.對于非阻塞I/O模型,進程從調用recvfrom函數(shù),到將數(shù)據(jù)從內核拷貝到用戶空間

整個過程都不會阻塞進程的執(zhí)行。

53.在多線程并發(fā)服務器中,為了防止父子線程對描述符的操作造成混亂,在主線程創(chuàng)

建子線程后,應在父線程中關閉已連接描述符。

54.創(chuàng)建的子線程默認情況下可聯(lián)合的。

55.在TCP客戶端,為了接收更多的數(shù)據(jù),可以在接收數(shù)據(jù)調用read函數(shù)時,臨時更改

套接字接收緩沖區(qū)的大小?

56.SCLSNDLOWAT用來設置套接字發(fā)送緩沖區(qū)的發(fā)送低潮,當發(fā)送緩沖區(qū)的現(xiàn)有數(shù)據(jù)

量大于發(fā)送低潮時,便可以發(fā)送數(shù)據(jù),select返回可寫。

三、根據(jù)程序回答問題。(每問3分,共18分)

1.閱讀下面的程序,并回答問題:

第01行intmain(void)

第02行{

第03行pid_tpid;

第04行intstatus;

第05行if((pid=fork())==0)

第06行]

第07行sleep(2);

08行printf("aaaaaaaaaa.\n");

09行printf("bbbbbbbbbb.\n");

10行sleep(2);

第11printf("ccccccccccAn");

12行exit(O);

第6頁

0)

id>

if(p

}else

第13行

第14行

");

dd.\n

ddddd

("ddd

printf

第15行

.\n");

eeeeee

("eeee

第printf

17行

);

第exit(0

{

else

第18行

);

rAn"

erro

("fork

printf

第19行

l);

exit(

第20行

第21行

}

22行

歷語句

出所經(jīng)

依次寫

?請

什么

徑是

行路

的執(zhí)

父進程

況下,

功的情

調用成

函數(shù)

fork。

(1)在

。

行號

n|p

沿

歷語句

出所經(jīng)

依次寫

?請

什么

徑是

行路

的執(zhí)

子進程

下,

情況

功的

用成

函數(shù)調

fork。

)在

.巴(2

號。

2行

。

的輸出

屏幕上

況下在

功的情

調用成

。函數(shù)

在fork

程序

寫出

(3)請

題:

答問

并回

序,

的程

讀下面

2.閱

/

省略*

文件

/*頭

(l);

sleep

j;

obal=

mygl

0;

obal=

mygl

int

{

*arg)

(void

ction

d_fun

*threa

void

)

溫馨提示

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

評論

0/150

提交評論