C++網(wǎng)絡(luò)編程思路試題及答案_第1頁(yè)
C++網(wǎng)絡(luò)編程思路試題及答案_第2頁(yè)
C++網(wǎng)絡(luò)編程思路試題及答案_第3頁(yè)
C++網(wǎng)絡(luò)編程思路試題及答案_第4頁(yè)
C++網(wǎng)絡(luò)編程思路試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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)介

C++網(wǎng)絡(luò)編程思路試題及答案姓名:____________________

一、單項(xiàng)選擇題(每題2分,共10題)

1.下列關(guān)于TCP/IP協(xié)議棧的描述,正確的是()

A.TCP/IP協(xié)議棧分為四層,分別是應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和鏈路層

B.IP協(xié)議主要負(fù)責(zé)數(shù)據(jù)包的傳輸,TCP協(xié)議負(fù)責(zé)數(shù)據(jù)包的可靠性

C.UDP協(xié)議比TCP協(xié)議更加穩(wěn)定,適用于實(shí)時(shí)應(yīng)用

D.TCP協(xié)議使用三次握手建立連接,UDP協(xié)議使用四次揮手關(guān)閉連接

2.在C++網(wǎng)絡(luò)編程中,以下哪個(gè)類(lèi)不是用于網(wǎng)絡(luò)通信的()

A.socket

B.socketpair

C.pipe

D.select

3.以下哪個(gè)函數(shù)用于創(chuàng)建一個(gè)socket()

A.socketpair

B.pipe

C.socket

D.bind

4.以下哪個(gè)函數(shù)用于連接一個(gè)socket到指定的服務(wù)器地址()

A.connect

B.listen

C.accept

D.send

5.以下哪個(gè)函數(shù)用于向socket發(fā)送數(shù)據(jù)()

A.send

B.recv

C.sendto

D.recvfrom

6.以下哪個(gè)函數(shù)用于從socket接收數(shù)據(jù)()

A.send

B.recv

C.sendto

D.recvfrom

7.在C++網(wǎng)絡(luò)編程中,以下哪個(gè)函數(shù)用于獲取當(dāng)前時(shí)間()

A.time

B.gettimeofday

C.clock

D.time_t

8.以下哪個(gè)函數(shù)用于設(shè)置超時(shí)時(shí)間()

A.setsockopt

B.getsockopt

C.fcntl

D.ioctl

9.在C++網(wǎng)絡(luò)編程中,以下哪個(gè)函數(shù)用于關(guān)閉socket()

A.close

B.shutdown

C.write

D.read

10.以下哪個(gè)函數(shù)用于將一個(gè)socket設(shè)置為非阻塞模式()

A.setsockopt

B.getsockopt

C.fcntl

D.ioctl

二、多項(xiàng)選擇題(每題3分,共10題)

1.C++網(wǎng)絡(luò)編程中,以下哪些是常用的網(wǎng)絡(luò)協(xié)議()

A.HTTP

B.FTP

C.SMTP

D.DNS

E.Telnet

2.在使用socket編程時(shí),以下哪些是socket的狀態(tài)()

A.OPEN

B.LISTEN

C.CONNECTED

D.SHUTDOWN

E.CLOSED

3.以下哪些是C++中用于網(wǎng)絡(luò)編程的數(shù)據(jù)類(lèi)型()

A.sockaddr_in

B.sockaddr

C.sockaddr_un

D.in_addr

E.in6_addr

4.在C++網(wǎng)絡(luò)編程中,以下哪些是用于處理I/O操作的函數(shù)()

A.read

B.write

C.recv

D.send

E.recvfrom

5.以下哪些是C++中用于設(shè)置socket選項(xiàng)的函數(shù)()

A.setsockopt

B.getsockopt

C.fcntl

D.ioctl

E.select

6.在C++網(wǎng)絡(luò)編程中,以下哪些是用于處理網(wǎng)絡(luò)錯(cuò)誤的函數(shù)()

A.perror

B.strerror

C.errno

D.perror_r

E.strerror_r

7.以下哪些是C++中用于處理多線程的函數(shù)()

A.pthread_create

B.pthread_join

C.pthread_detach

D.pthread_mutex_lock

E.pthread_mutex_unlock

8.在C++網(wǎng)絡(luò)編程中,以下哪些是用于處理異步I/O的函數(shù)()

A.aio_read

B.aio_write

C.aio_error

D.aio_return

E.aio_cancel

9.以下哪些是C++中用于處理網(wǎng)絡(luò)編程事件的函數(shù)()

A.signal

B.sigaction

C.sigprocmask

D.sigpending

E.sigfillset

10.在C++網(wǎng)絡(luò)編程中,以下哪些是用于處理UDP協(xié)議的函數(shù)()

A.sendto

B.recvfrom

C.getsockname

D.getpeername

E.setsockopt

三、判斷題(每題2分,共10題)

1.在C++網(wǎng)絡(luò)編程中,socketpair函數(shù)用于創(chuàng)建一個(gè)雙向的管道連接。()

2.使用TCP協(xié)議進(jìn)行網(wǎng)絡(luò)通信時(shí),數(shù)據(jù)包的順序可能會(huì)發(fā)生變化。()

3.UDP協(xié)議比TCP協(xié)議更加安全,因?yàn)樗峁┝藬?shù)據(jù)包的校驗(yàn)和。()

4.在C++中,可以使用select函數(shù)同時(shí)監(jiān)聽(tīng)多個(gè)socket的事件。()

5.在C++網(wǎng)絡(luò)編程中,使用socketpair函數(shù)可以創(chuàng)建一個(gè)非阻塞的socket。()

6.使用socket編程時(shí),可以通過(guò)getpeername函數(shù)獲取對(duì)端socket的地址信息。()

7.在C++中,可以使用fcntl函數(shù)設(shè)置socket的阻塞或非阻塞模式。()

8.使用TCP協(xié)議進(jìn)行網(wǎng)絡(luò)通信時(shí),客戶端和服務(wù)器之間的連接是持久的。()

9.在C++網(wǎng)絡(luò)編程中,可以使用pthread庫(kù)來(lái)處理多線程網(wǎng)絡(luò)編程。()

10.在C++網(wǎng)絡(luò)編程中,使用UDP協(xié)議進(jìn)行通信時(shí),不需要進(jìn)行連接建立和關(guān)閉操作。()

四、簡(jiǎn)答題(每題5分,共6題)

1.簡(jiǎn)述C++網(wǎng)絡(luò)編程中TCP協(xié)議和UDP協(xié)議的主要區(qū)別。

2.解釋在C++網(wǎng)絡(luò)編程中,什么是套接字(socket)?它有什么作用?

3.描述在C++網(wǎng)絡(luò)編程中,如何使用select函數(shù)來(lái)監(jiān)聽(tīng)多個(gè)socket的事件。

4.說(shuō)明在C++網(wǎng)絡(luò)編程中,如何使用pthread庫(kù)來(lái)實(shí)現(xiàn)多線程網(wǎng)絡(luò)編程。

5.解釋在C++網(wǎng)絡(luò)編程中,什么是非阻塞socket?它有哪些應(yīng)用場(chǎng)景?

6.簡(jiǎn)述在C++網(wǎng)絡(luò)編程中,如何處理網(wǎng)絡(luò)異常和錯(cuò)誤。

試卷答案如下

一、單項(xiàng)選擇題

1.B

解析思路:TCP/IP協(xié)議棧分為四層,其中IP協(xié)議屬于網(wǎng)絡(luò)層,負(fù)責(zé)數(shù)據(jù)包的傳輸;TCP協(xié)議屬于傳輸層,負(fù)責(zé)數(shù)據(jù)包的可靠性。

2.C

解析思路:socketpair用于創(chuàng)建一對(duì)具有父子關(guān)系的socket,用于進(jìn)程間通信;pipe用于創(chuàng)建管道;select用于I/O多路復(fù)用。

3.C

解析思路:socket函數(shù)用于創(chuàng)建一個(gè)socket;socketpair用于創(chuàng)建父子socket對(duì);pipe用于創(chuàng)建管道;bind用于綁定socket到地址。

4.A

解析思路:connect用于連接一個(gè)socket到指定的服務(wù)器地址;listen用于監(jiān)聽(tīng)socket;accept用于接受客戶端的連接請(qǐng)求;send用于發(fā)送數(shù)據(jù)。

5.A

解析思路:send用于向socket發(fā)送數(shù)據(jù);recv用于從socket接收數(shù)據(jù);sendto用于向指定地址的socket發(fā)送數(shù)據(jù);recvfrom用于從指定地址的socket接收數(shù)據(jù)。

6.B

解析思路:recv用于從socket接收數(shù)據(jù);send用于發(fā)送數(shù)據(jù);sendto用于向指定地址的socket發(fā)送數(shù)據(jù);recvfrom用于從指定地址的socket接收數(shù)據(jù)。

7.B

解析思路:time函數(shù)返回當(dāng)前時(shí)間的時(shí)間戳;gettimeofday函數(shù)返回當(dāng)前時(shí)間和微秒級(jí)時(shí)間戳;clock函數(shù)返回程序運(yùn)行的總時(shí)間;time_t是C++標(biāo)準(zhǔn)庫(kù)中的時(shí)間類(lèi)型。

8.A

解析思路:setsockopt用于設(shè)置socket選項(xiàng);getsockopt用于獲取socket選項(xiàng);fcntl用于設(shè)置文件描述符的屬性;ioctl用于對(duì)設(shè)備進(jìn)行控制。

9.A

解析思路:close用于關(guān)閉socket;shutdown用于關(guān)閉socket的某個(gè)方向的數(shù)據(jù)傳輸;write用于向socket發(fā)送數(shù)據(jù);read用于從socket接收數(shù)據(jù)。

10.C

解析思路:setsockopt用于設(shè)置socket選項(xiàng);getsockopt用于獲取socket選項(xiàng);fcntl用于設(shè)置文件描述符的屬性;ioctl用于對(duì)設(shè)備進(jìn)行控制。

二、多項(xiàng)選擇題

1.ABCDE

解析思路:HTTP、FTP、SMTP、DNS和Telnet都是常用的網(wǎng)絡(luò)協(xié)議。

2.ABCDE

解析思路:socket的狀態(tài)包括打開(kāi)、監(jiān)聽(tīng)、連接、關(guān)閉和半關(guān)閉。

3.ABDE

解析思路:sockaddr_in、sockaddr、in_addr和in6_addr都是C++中用于網(wǎng)絡(luò)編程的數(shù)據(jù)類(lèi)型。

4.ABCDE

解析思路:read、write、recv、send和recvfrom都是用于處理I/O操作的函數(shù)。

5.AB

解析思路:setsockopt和getsockopt用于設(shè)置和獲取socket選項(xiàng)。

6.ABCDE

解析思路:perror、strerror、errno、perror_r和strerror_r都是用于處理網(wǎng)絡(luò)錯(cuò)誤的函數(shù)。

7.ABCDE

解析思路:pthread_create、pthread_join、pthread_detach、pthread_mutex_lock和pthread_mutex_unlock都是用于處理多線程的函數(shù)。

8.ABCDE

解析思路:aio_read、aio_write、aio_error、aio_return和aio_cancel都是用于處理異步I/O的函數(shù)。

9.ABCDE

解析思路:signal、sigaction、sigprocmask、sigpending和sigfillset都是用于處理網(wǎng)絡(luò)編程事件的函數(shù)。

10.ABCD

解析思路:sendto、recvfrom、getsockname和getpeername都是用于處理UDP協(xié)議的函數(shù)。

三、判斷題

1.×

解析思路:socketpair用于創(chuàng)建父子socket對(duì),不是管道連接。

2.√

解析思路:TCP協(xié)議保證數(shù)據(jù)包的順序,而UDP協(xié)議不保證。

3.×

解析思路:UDP協(xié)議不提供數(shù)據(jù)包的校驗(yàn)和,安全性不如TCP。

4.√

解析思路:select函數(shù)可以同時(shí)監(jiān)聽(tīng)多個(gè)socket的事件。

5.×

解析思路:soc

溫馨提示

  • 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)論