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

下載本文檔

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

文檔簡介

成都信息工程學(xué)院考試試卷

學(xué)年第學(xué)期

課程名稱:網(wǎng)絡(luò)編程技術(shù)使用班級:網(wǎng)絡(luò)工程學(xué)院級

試卷形式:開卷口閉卷回

試總

—?二三四五六七八九十

題分

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

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

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

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

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

-E鄒

使用的函數(shù)是。

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

S——將主機(jī)字節(jié)序轉(zhuǎn)換成。

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

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

全局變量___________中找到,調(diào)用可以將錯誤代碼轉(zhuǎn)換為它對應(yīng)的字符串

信息。

6.在TCP連接中,若需要關(guān)閉某個方向的連接,可以使用函數(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.設(shè)置SO_KEEPALIVE選項作用是。

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

是,其中destructor是,value

是,value的默認(rèn)值是。

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

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

描述符。

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

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

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

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

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

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

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

的套接字地址結(jié)構(gòu)。

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

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

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

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

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

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

18.函數(shù)在進(jìn)程內(nèi)部分配一個標(biāo)志TSD的關(guān)鍵字,并且該函數(shù)

其中一個形參是可選的析構(gòu)函數(shù),當(dāng)系統(tǒng)調(diào)用該析構(gòu)函數(shù)時,傳遞的參數(shù)是

第2頁

19.以INADDR_ANY調(diào)用bind的服務(wù)器,在接收到連接后,調(diào)用函

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

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

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

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

題號1234567891011121314

-

-答案

-

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

噩運(yùn)行。()

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

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

-£

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

赭的IP地址,但不能將二進(jìn)制IPv6地址轉(zhuǎn)換成相應(yīng)的字符串形式的IP地址。()

W

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

——

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

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

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

字的引用情況。()

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

通信繼續(xù)。()

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

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

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

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

——第3頁一一

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

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

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

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

號。()

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

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

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

IP地址和端口號。()

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

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

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

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

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

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

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

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

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

字。()

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

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

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

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

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

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

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

第4頁

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

元組所標(biāo)識網(wǎng)絡(luò)中一個連接可以進(jìn)行正常的網(wǎng)絡(luò)通信。

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

口,又稱為套接字。

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

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

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

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

-

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

-

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

-

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

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

K

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

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

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

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

——

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

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

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

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

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

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

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

元組所標(biāo)識網(wǎng)絡(luò)中一個連接可以進(jìn)行正常的網(wǎng)絡(luò)通信。

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

口,又稱為套接字。

——第5頁一一

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

字。

48.在IPv4套結(jié)字地址結(jié)構(gòu)中,in_addr結(jié)構(gòu)體中的s_addr成員,存儲的便是我們主機(jī)

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

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

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

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

函數(shù)。

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

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

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

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

建子線程后,應(yīng)在父線程中關(guān)閉已連接描述符。

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

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

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

56.SCLSNDLOWAT用來設(shè)置套接字發(fā)送緩沖區(qū)的發(fā)送低潮,當(dāng)發(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í)

父進(jìn)程

況下,

功的情

調(diào)用成

函數(shù)

fork。

(1)在

。

行號

n|p

沿

歷語句

出所經(jīng)

依次寫

?請

什么

徑是

行路

的執(zhí)

子進(jìn)程

下,

情況

功的

用成

函數(shù)調(diào)

fork。

)在

.巴(2

號。

2行

的輸出

屏幕上

況下在

功的情

調(diào)用成

。函數(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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論