Ngân hàng câu hỏi thi trắc nghiệm Lập Trình Mạng | Trường Đại học Bách khoa Hà Nội
Ngân hàng câu hỏi thi trắc nghiệm Lập Trình Mạng | Trường Đại học Bách khoa Hà Nội. Tài liệu được sưu tầm, giúp bạn ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!
65
33 lượt tải
Tải xuống
Ngân hàng câu h i thi L p Trình M ngỏ ậ ạ
1. Th vi n liên k t đ ng c a Windows Socket có tên là:ư ệ ế ộ ủ
a. WinSock.DLL
b. WinSock2.DLL
c. WS2.DLL
d. WS2_32.DLL
2. Đ có th s d ng th vi n Windows Socket, t p tiêu đ c n khai báo là:ể ể ử ụ ư ệ ệ ề ầ
a. Winsock.h
b. Winsock2.h
c. Ws2_32.h
d. Ws2.h
3. Đ có th s d ng d ng th vi n Windows Socket, t p th vi n c n khai báo cho quá trình liên k t là.ể ể ử ụ ụ ư ệ ệ ư ệ ầ ế
a. Winsock.lib
b. WS2_32.LIB
c. WS2_32.DLL
d. Winsock2.dll
4. Công c chu n đoán m ng dùng đ hi n th các k t n i hi n có trên máy tính làụ ẩ ạ ể ể ị ế ố ệ
a. Wireshark
b. TCPView
c. Netcat
d. T t c các công c trênấ ả ụ
5. Công c dùng đ theo dõi tài nguyên s d ng c a máy tính trên h đi u hành Windows làụ ể ử ụ ủ ệ ề
a. Task Manager
b. Resource Monitor
c. Wireshark
d. Ph ng án a và b.ươ
6. Công c dùng đ b t các gói tin g i ra và vào m t giao di n m ng c a máy tính làụ ể ắ ử ộ ệ ạ ủ
a. Netcat
b. Network Monitor
c. Cain
d. Không ph ng án nào đúng.ươ
7. Công c đa năng, v a có th đóng vai trò client, v a server, ch y trên giao th c TCP, UDP là.ụ ừ ể ừ ạ ứ
a. Netcat
b. TCPDump
c. Netstat
d. Network Monitor
8. N u c n ph i vi t m t ng d ng c n tính đáp ng nhanh và ch p nh n sai sót. Giao th c l a ch n sẽ làế ầ ả ế ộ ứ ụ ầ ứ ấ ậ ứ ự ọ
a. TCP
b. IP
c. ICMP
d. UDP
9. D ch v phân gi i tên mi n ch y t ng nào trong các t ng sau đâyị ụ ả ề ạ ở ầ ầ
a. Application
b. Transport
c. Internetwork
d. Datalink
10. Giao th c nào đ c s d ng đ chia s m t đ a ch toàn c c cho m t nhóm các máy tính trong m ng LAN.ứ ượ ử ụ ể ẻ ộ ị ỉ ụ ộ ạ
a. VLAN
b. MAC
c. NAT
d. Không đáp án nào đúng
11. Trong m t m ng máy tính đ c chia s chung m t đ a ch IP toàn c c. Thi t l p nào sau đây sẽ cho phép m t máy tính ộ ạ ượ ẻ ộ ị ỉ ụ ế ậ ộ
t Internet ch đ ng k t n i đ n m t máy ch trong m ng.ừ ủ ộ ế ố ế ộ ủ ạ
a. DMZ
b. Virtual Server
c. Port Forwarding
d. C ba ph ng án trên.ả ươ
12. Công c nào s d ng đ ki m tra ho t đ ng c a m t máy ch phân gi i tên mi nụ ử ụ ể ể ạ ộ ủ ộ ủ ả ề
a. Ping
b. Nslookup
c. Netstat
d. Ipconfig
13. N u c n phát tri n thêm trình đi u khi n cho m t lo i thi t b m i. ng d ng sẽ ph i vi t t ng nào c a Windows ế ầ ể ề ể ộ ạ ế ị ớ Ứ ụ ả ế ở ầ ủ
Socket
a. Application
b. Provider
c. Transport Protocol
d. Không t ng nào đúngầ
14. N u c n ph i thi t k m t giao th c m i, ng d ng sẽ ph i tích h p vào t ng nào c a Windows Socket APIế ầ ả ế ế ộ ứ ớ ứ ụ ả ợ ầ ủ
a. Application b. Provider
c. Transport Protocol d. Không t ng nào đúng.ầ
15. Trình đi u khi n cho m t thi t b m ng ch y ch đề ể ộ ế ị ạ ạ ở ế ộ
a. User Mode
b. Kernel Mode
c. System Mode
d. Không ph ng án nào đúng.ươ
16. Biên c a thông đi p trong các giao th c h ng dòng có đ c b o toàn hay không ?ủ ệ ứ ướ ượ ả
a. Có
b. Không
c. Tùy t ng tr ng h p, n u đ c t ch c ừ ườ ợ ế ượ ổ ứ
h p lý.ợ
17. Hàm nào sau đây th c hi n công vi c kh i t o Windows Socketự ệ ệ ở ạ
a. WSStartup
b. WinsockStartup
c. SocketStartup
d. WSAStartup
18. WSADATA là c u trúc dùng đấ ể
a. Truy n thông tin v phiên b n WinSock ề ề ả
mà ng d ng mu n kh i t oứ ụ ố ở ạ
b. Nh n thông tin v phiên b n WinSock có ậ ề ả
trên h th ng.ệ ố
c. C hai đáp án đ u sai.ả ề
19. Hàm nào sau đây s d ng đ gi i phóng Windows Socket API.ử ụ ể ả
a. WSACleanup
b. WSCleanup
c. Cleanup
d. Ph ng án khác:…ươ
20. Đ l y mã l i c a thao tác ngay tr c đó. Hàm nào sau đây sẽ đ c s d ngể ấ ỗ ủ ướ ượ ử ụ
a. GetLastError
b. WSAGetError
c. WSAGetLastError
d. WSALastError
21. Đo n ch ng trình sau th c hi n k t n i đ n m t server, đi n vào v trí <A>, <B>, <C> các l nh còn thi u.ạ ươ ự ệ ế ố ế ộ ề ị ệ ế
ret = connect(s, (sockaddr*)&serverAddr,sizeof(serverAddr));
if (ret ==SOCKET_ERROR) {
printf(“Loi ket noi: %d”, <A>);
<B>;
<C>;
};
a. <A>: GetLastError, <B>: closesocket (s),
<C>: WSACleanup().
b. <A>: WSAGetLastError(), <B> close(s),
<C>: Cleanup().
c. <A>: WSALastError(), <B>:
closesocket(s), <C>: đ tr ng.ể ố
d. Không ph ng án nào đúng.ươ
22. Trong Windows Socket, v i các hàm không có ti n t WSA thì mã l i tr v là 0 có nghĩa là:ớ ề ố ỗ ả ề
a. Thành công
b. Th t b iấ ạ
c. Tùy tr ng h pườ ợ
23. L nh nào sau đây dùng đ t o m t socket TCPệ ể ạ ộ
a. socket(AF_INET,SOCK_STREAM,IPPROTO_
TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_T
CP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_
UDP).
d. socket(AF_INET,SOCKSTREAM,IPPROTOT
CP).
24. L nh nào sau đây dùng đ t o m t socket UDPệ ể ạ ộ
a. socket(AF_INET,SOCK_UDP,
IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_T
CP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_
UDP).
d. Không l nh nào đúng.ệ
25. C u trúc nào đ c s d ng đ khai báo đ a ch socket internet:ấ ượ ử ụ ể ị ỉ
a. sock_addr
b. sockaddr
c. sockaddr_in
d. sock_addr_in
26. Các giá tr l n h n 01 byte trong c u trúc l u tr đ a ch c a socket đ c t ch c theo ki u:ị ớ ơ ấ ư ữ ị ỉ ủ ượ ổ ứ ể
a. Đ u toầ
b. Đ u nhầ ỏ
c. Tùy tr ng h pườ ợ
27. Đ chuy n đ i m t xâu sang đ a ch IP, l nh nào sau đây là đúngể ể ổ ộ ị ỉ ệ
a. inet_ntoa(“192.168.1.1”);
b. inet_aton(“192.168.1.1”);
c. inet_addr(“192.168.1.1”);
d. inet_stoi(“192.168.1.1”);
28. Đ chuy n đ i m t đ a ch IP l u trong bi n serverAddr l u tr đ a ch socket sang d ng xâu ký t , l nh nào sau đây là ể ể ổ ộ ị ỉ ư ế ư ữ ị ỉ ạ ự ệ
đúng
a. inet_ntos(serverAddr.sin_addr);
b. inet_ntoa(serverAddr.s_addr);
c. inet_itos(serverAddr.sin_addr);
d. inet_ntoa(serverAddr.sin_addr);
29. Đ chuy n đ i giá tr c ng t đ u nh sang đ u to, l nh nào sau đây sẽ đ c s d ngể ể ổ ị ổ ừ ầ ỏ ầ ệ ượ ử ụ
a. ntohl
b. ntohs
c. htonl
d. htons
30. Đ th c hi n phân gi i tên mi n b ng WinSock, c n b sung t p tiêu đ nàoể ự ệ ả ề ằ ầ ổ ệ ề
a. Winsock2.h
b. Ws2_32.h
c. Ws2ip.h
d. Ws2tcpip.h
31. Đ th c hi n phân gi i tên mi n b ng WinSock, hàm nào sau đây có th s d ngể ự ệ ả ề ằ ể ử ụ
a. getaddrinfo
b. gethostinfo
c. getpeerinfo
d. C ba hàm trênả
32. K t qu tr v c a thao tác phân gi i tên mi n là <A> và ph i gi i phóng b ng hàm/toán t <B>ế ả ả ề ủ ả ề ả ả ằ ử
a. <A>: M ng, <B> deleteả
b. <A>: Danh sách liên k t đ n, <B> freeế ơ
c. <A>: Danh sách liên k t kép, <B> ế
freeaddrinfo
d. <A>: Danh sách liên k t đ n, <B> ế ơ
freeaddrinfo
33. Tr ng nào sau đây trong c u trúc addrinfo ch a thông tin v đ a ch socket phân gi i đ c.ườ ấ ứ ề ị ỉ ả ượ
a. ai_addr.
b. sock_addr.
c. addr.
d. in_addr.
34. Trong tr ng h p nào sau đây hàm ườ ợ bind sẽ th t b iấ ạ
a. T ng l a ch n.ườ ử ặ
b. Đã có ng d ng khác m s d ng c ng ứ ụ ở ử ụ ổ
trên.
c. Socket không h p l .ợ ệ
d. C ba tr ng h p trên.ả ườ ợ
35. L nh nào sau đây sẽ g n m t socket s vào giao di n m ng b t kỳ đ c mô t trong c u trúc đ a ch serverAddr.ệ ắ ộ ệ ạ ấ ượ ả ấ ị ỉ
a. bind(s,(sockaddr_in*)&serverAddr,
sizeof(serverAddr));
b. bind(s,
(sockaddr*)serverAddr,sizeof(serverAddr
));
c. bind(s,
(sockaddr*)&serverAddr,sizeof(sockaddr_
in));
d. Không l nh nào đúng.ệ
36. L nh nào sau đây sẽ gán giá tr c ng 8080 cho c u trúc đ a ch serverAddr.ệ ị ổ ấ ị ỉ
a. serverAddr.sin_port = 8080.
b. serverAddr.s_port = 8080.
c. serverAddr.sin_port = htonl(8080).
d. L nh khác…ệ
37. Đo n ch ng trình sau sẽ th c hi n ch p nh n k t n i t client. Đi n vào ch tr ng các ph ng án c n thi tạ ươ ự ệ ấ ậ ế ố ừ ề ỗ ố ươ ầ ế
SOCKET server,client;
sockaddr_in clientAddr;
int len;
len = <A>;
client = accept(server,<B>, <C>);
a. <A> = 0, <B> = clientAddr, <C> = len.
b. <A> = sizeof(client), <B> = &clientAddr, <C>
=len.
c. <A> = 0, <B> = (sockaddr*)&clientAddr, <C> =
&len.
d. <A> = sizeof(clientAddr), <B> =
(sockaddr*)&clientAddr,&len.
38. Đo n ch ng trình sau th c hi n đ c d li u t bàn phím và g i đi qua socket s. Đi n vào ch tr ng nh ng l nh còn ạ ươ ự ệ ọ ữ ệ ừ ử ề ỗ ố ữ ệ
thi u.ế
char str[1024];
int ret = 0;
gets(str);
<A> = send(s,str,<B>,0);
if (<A> <= 0)
{
printf("Loi gui xau!");
<C>;
}
a. <A> = ret, <B> = 1024, <C> = đ tr ng.ể ố
b. <A> = ret, <B> = sizeof(str), <C> =
close(s).
c. <A> = str, <B> = strlen(str), <C> = close(s).
d. <A> = ret, <B> = strlen(str), <C> =
closesocket(s).
39. Trong l i g i hàm ờ ọ recv(s,buff,1024,0), giá tr 1024 có nghĩa là:ị
a. S byte mu n nh nố ố ậ
b. S byte t i đa mu n nh n.ố ố ố ậ
c. Kích th c b đ m.ướ ộ ệ
d. C b và c đ u đúng.ả ề
40. Khi socket ho t đ ng ch đ đ ng b , m i l i g i hàm sẽ:ạ ộ ở ế ộ ồ ộ ỗ ờ ọ
a. Ch n t t c các lu ng c a ch ng trình ặ ấ ả ồ ủ ươ
cho đ n khi thao tác vào ra hoàn t tế ấ
b. Ch n t t c các lu ng tr lu ng ch a l i ặ ấ ả ồ ừ ồ ứ ờ
g i ọ
c. Ch ch n lu ng ch a l i g i, các lu ng ỉ ặ ồ ứ ờ ọ ồ
khác v n ch y bình th ng.ẫ ạ ườ
d. Không ch n lu ng nào c . ặ ồ ả
41. Khi socket ho t đ ng ch đ b t đ ng b , m i l i g i hàm sẽạ ộ ở ế ộ ấ ồ ộ ỗ ờ ọ
a. Ch n t t c các lu ng c a ch ng trình ặ ấ ả ồ ủ ươ
cho đ n khi thao tác vào ra hoàn t tế ấ
b. Ch n t t c các lu ng tr lu ng ch a l i ặ ấ ả ồ ừ ồ ứ ờ
g i ọ
c. Ch ch n lu ng ch a l i g i, các lu ng ỉ ặ ồ ứ ờ ọ ồ
khác v n ch y bình th ng.ẫ ạ ườ
d. Không ch n lu ng nào c .ặ ồ ả
42. M c đ nh socket khi đ c t o ra ho t đ ng ch đ <A>, hàm <B> sẽ thay đ i ch đ ho t đ ng c a socket.ặ ị ượ ạ ạ ộ ở ế ộ ổ ế ộ ạ ộ ủ
a. <A>: đ ng b , <B>: ioctlsocket.ồ ộ
b. <A>: b t đông b , <B>:ioctlsocket.ấ ộ
c. <A>: đ ng b , <B>: WSAAsyncSelect.ồ ộ
d. C a và c đ u đúngả ề
43. Khi socket s ho t đ ng ch đ đ ng b , hàm recv(s,buff,1024,0) sẽ không ch n lu ng ch a l i g i trong tr ng h p ạ ộ ở ế ộ ồ ộ ặ ồ ứ ờ ọ ườ ợ
nào sau đây.
a. Có d li u t b đ m h th ng nh ng ữ ệ ừ ộ ệ ệ ố ư
không đ 1024 byte.ủ
b. Có đ 1024 byte d li u t b đ m h ủ ữ ệ ừ ộ ệ ệ
th ng.ố
c. K t n i b đóng.ế ố ị
d. C ba ph ng án trên đ u đúng.ả ươ ề
44. N u c n xây d ng server đáp ng đ c t i thi u 10 k t n i, ch ng trình sẽ c n khai báo bao nhiêu socket ?ế ầ ự ứ ượ ố ể ế ố ươ ầ
a. 11
b. 10
c. 20
d. 21
45. N u vi c g i d li u cho các k t n i đ c t p trung vào trong m t lu ng, thì mô hình Blocking c n t i thi u bao nhiêu ế ệ ử ữ ệ ế ố ượ ậ ộ ồ ầ ố ể
lu ng đ đáp ng đ c 100 k t n i.ồ ể ứ ượ ế ố
a. 100
b. 200
c. 201
d. 101
46. Trong mô hình Select, đ thăm dò s ki n k t n i đ n server thành công, client c n cho socket vào t p nàoể ự ệ ế ố ế ầ ậ
a. readfds
b. writefds
c. exceptfds
d. C ba t p đ u đ c.ả ậ ề ượ
47. N u dùng mô hình ế Select và thăm dò s ki n cho 100 k t n i, ng d ng sẽ c n bao nhiêu lu ng ?ự ệ ế ố ứ ụ ầ ồ
a. 100
b. 2
c. 101
d. 1.
48. Trong mô hình Select, socket ch y ch đ nào ?ạ ở ế ộ
a. Đ ng bồ ộ
b. B t đ ng bấ ồ ộ
c. Không xác đ nhị
49. Hàm callback WindowProc đ c g i trong ng c nh c a:ượ ọ ữ ả ủ
a. M t lu ng riêng đ c h th ng t o ra.ộ ồ ượ ệ ố ạ
b. Lu ng chính x lý giao di n.ồ ử ệ
c. Lu ng ph do ch ng trình t o ra.ồ ụ ươ ạ
d. Ph ng án khác…ươ
50. Trong các hàm x lý s ki n c a ch ng trình có giao di n đ h a, có nên g i các hàm đ ng b c a WinSock ?ử ự ệ ủ ươ ệ ồ ọ ọ ồ ộ ủ
a. Không, vì sẽ làm vi c g i nh n d li u ệ ử ậ ữ ệ
c a socket b ch m đi.ủ ị ậ
b. Không, vì sẽ làm h đi u hành b treo.ệ ề ị
c. Có, vì không nh h ng gì đ n ch ng ả ưở ế ươ
trình.
d. Không, vì sẽ làm gi m kh năng đáp ng ả ả ứ
c a ch ng trình v i các s ki n ng i ủ ươ ớ ự ệ ườ
dùng.
51. Trong mô hình WSAEventSelect, gi s ng d ng có 10 SOCKET, c n m y đ i t ng WSAEVENT t ng ng?ả ử ứ ụ ầ ấ ố ượ ươ ứ
a. 10
b. 20
c. 11
d. S khác…ố
52. Đ i t ng WSAEVENT đ c t o ra b i WSACreateEvent có thu c tính:ố ượ ượ ạ ở ộ
a. Signaled, auto reset
b. Non-signaled, auto reset
c. Signaled, manual reset
d. Non-signaled , manual reset
53. Hàm WSAWaitForMultipleEvent sẽ ch n lu ng có l i g i đ n khiặ ồ ờ ọ ế
a. Các đ i t ng EVENT chuy n sang tr ng ố ượ ể ạ
thái báo hi uệ
b. H t giế ờ
c. Các đ i t ng EVENT chuy n sang tr ng ố ượ ể ạ
thái ch a báo hi uư ệ
d. C a và bả
54. Gi s s là socket dùng đ k t n i đ n server khác, l nh nào sau đây thích h p nh t.ả ử ể ế ố ế ệ ợ ấ
a. WSAEventSelect(s, event, FD_ACCEPT |
FD_CLOSE);
b. WSAEventSelect(s, event, FD_CONNECT|
FD_WRITE|FD_READ|FD_CLOSE);
c. WSAEventSelect(s, event, FD_ACCEPT|
FD_CONNECT);
d. WSAEventSelect(s, event, FD_CONNECT|
FD_CLOSE);
55. Nh ng hàm nào sau đây có th s d ng mô hình vào ra Overlappedữ ể ử ụ
a. WSAConnect
b. accept
c. WSARecv
d. a và c
56. Có th s d ng cùng m t đ i t ng EVENT cho hai socket khác nhau trong mô hình Overlapped đ c khôngể ử ụ ộ ố ượ ượ
a. Có b. Không
57. Trong mô hình vào ra Overlapped, completion routine sẽ đ c g i b i:ượ ọ ở
a. Ch ng trình trong cùng lu ng có yêu c u vào ra.ươ ồ ầ
b. Ch ng trình trong m t lu ng khác v i lu ng có yêu c u vào ra.ươ ộ ồ ớ ồ ầ
c. H đi u hành trong lu ng khác v i lu ng có yêu c u vào ra.ệ ề ồ ớ ồ ầ
d. H đi u hành trong lu ng cùng v i lu ng có yêu c u vào ra.ệ ề ồ ớ ồ ầ
58. Alertable là tr ng thái:ạ
a. Đang ng và s n sàng th c hi n hàm callback t h đi u hànhủ ẵ ự ệ ừ ệ ề
b. Đang th c thi và s n sàng th c hi n hàm callback t h đi u hànhự ẵ ự ệ ừ ệ ề
c. Đang ng và ch a s n sàng th c hi n hàm callback t h đi u hànhủ ư ẵ ự ệ ừ ệ ề
d. Đang th c thi và ch a s n sàng th c hi n hàm callback t h đi u hànhự ư ẵ ự ệ ừ ệ ề
59. Hàm nào sau đây có th đ a lu ng v tr ng thái alertableể ư ồ ề ạ
a. SleepEx
b. WSAConnect
c. Sleep
d. C a và cả
60. CSocket là l pớ
a. C s c a CAsyncSocketơ ở ủ
b. D n xu t c a CAsyncSocketẫ ấ ủ
c. K th a c a CAsyncSocketế ừ ủ
d. Không có quan h gì v i CAsyncSocketệ ớ
61. Các ph ng th c c a CSocket đ u ho t đ ngươ ứ ủ ề ạ ộ
a. Đ ng bồ ộ b. B t đ ng bấ ồ ộ
62. Các ph ng th c c a CAsyncSocket đ u ho t đ ngươ ứ ủ ề ạ ộ
a. Đ ng bồ ộ b. B t đ ng bấ ồ ộ
63. Lu ng A t o đ i t ng m có ki u CSocket. Trong lu ng B, l nh nào sau đây là h p lồ ạ ố ượ ể ồ ệ ợ ệ
a. m.Connect(“127.0.0.1”,8888);
b. m.Close();
c. m.ShutDown();
d. C ba đ u không h p l .ả ề ợ ệ
64. Đ x lý s ki n cho CAsyncSocket c n ph iể ử ự ệ ầ ả
a. G n đ i t ng vào m t bi n có ki u WSAEVENT.ắ ố ượ ộ ế ể
b. G n đ i t ng vào m t c a s qua hàm WSAAsyncSelect.ắ ố ượ ộ ử ổ
c. Truy n đ i s là m t hàm callback cho các thao tác vào ra.ề ố ố ộ
d. K th a ra m t l p m i và vi t các ph ng th c ch ng.ế ừ ộ ớ ớ ế ươ ứ ồ
65. Đo n ch ng trình sau s d ng trong ch ng trình chat Voice x lý vi c nh n d li u t server, hãy đi n vào ch tr ng ạ ươ ử ụ ươ ử ệ ậ ữ ệ ừ ề ỗ ố
nh ng l nh c n thi t.ữ ệ ầ ế
enum PACKET_TYPE
{
PACKET_TYPE_TEXT,
PACKET_TYPE_VOICE,
PACKET_TYPE_IMAGE
};
struct Packet
{
char type;
int len;
char data[65536];
};
int total = 0;
int len = 0;
SOCKET s;
Packet p;
recv(s,&p.type,<A> ,MSG_WAITALL);
recv(s,(char*)&p.len,<B>,MSG_WAITALL);
switch (p.type)
{
case <C>:
while (total<p.len)
{
len = recv(s,<D>,<E>,0);
if (len<=0) break;
total+=<F>;
};
p.data[total] = <G>;
printf("Text:%s",p.data);
…
}
Giá tr thích h p cho <A> làị ợ
a. 1 b. 2 c. 4 d. sizeof(p)
66. Giá tr thích h p cho <B> làị ợ
a. 1
b. 2
c. 4
d. sizeof(Packet)
67. Giá tr thích h p cho <C> làị ợ
a. PACKET_TYPE_VOICE
b. PACKET_TYPE_IMAGE
c. PACKET_TYPE_TEXT
d. Giá tr khác…ị
68. Giá tr thích h p cho <D> làị ợ
a. &p
b. p.data
c. p.data+p.len
d. Ph ng án khác…ươ
69. Giá tr thích h p cho <E> làị ợ
a. p.len
b. p.len – total
c. total
d. 65536
70. Giá tr thích h p cho <F> làị ợ
a. len
b. pk.len
c. sizeof(Packet)
d. 4
71. Giá tr thích h p cho <G> làị ợ
a. 0xFF
b. 0
c. 1
d. Ph ng án khác…ươ
72. Đo n ch ng trình sau đây th c hi n nh n d li u t m t socket UDP và ki m tra l i checksum, đi n vào ch tr ng ạ ươ ự ệ ậ ữ ệ ừ ộ ể ạ ề ỗ ố
nh ng l nh thích h pữ ệ ợ
struct Packet
{
int offset;
int len;
unsigned short checksum; // XOR
char data[1024];
};
Packet p;
SOCKADDR_IN from;
int fromLen = <A>;
int total = 0, len;
unsigned short tmpchecksum = 0;
SOCKET s;
memset(&p,0,sizeof(p));
len = recvfrom(s,(char*)&p,10,0,<E>,&fromLen);
while (<B>)
{
len = recvfrom(s,<C>,<D>,0,<E>,&fromLen);
if (len <=0 ) break;
total += len;
};
for (int i=0;i<(p.len+1)/2;i++)
tmpchecksum = tmpchecksum <F> *((unsigned short*)(&p.data[<G>]));
if (tmpchecksum!=p.checksum)
printf("Goi tin bi loi!");
Giá tr thích h p choị ợ <A> là
a. 1024
b. sizeof(p)
c. sizeof(from)
d. Ph ng án khác…ươ
73. Giá tr thích h p cho <B> làị ợ
a. true
b. 1
c. total >= p.len
d. total < p.len
74. Giá tr thích h p cho <C> làị ợ
a. p.data + len
b. p.data
c. p.data + (p.len – total)
d. C ba đ u saiả ề
75. Giá tr thích h p cho <D> làị ợ
a. 1024
b. p.len – total
c. p.len + total
d. p.len
76. Giá tr thích h p cho <E> làị ợ
a. &from
b. sizeof(from)
c. (sockaddr*)from
d. (sockaddr*)&from
77. Giá tr thích h p cho <F> làị ợ
a. ^
b. |
c. &
d. ~
78. Giá tr thích h p cho <G> làị ợ
a. i*2
b. i*3
c. i*4
d. i
79. Đo n ch ng trình server sau qu n lý các k t n i c a client d i d ng danh sách liên k t kép. Đi n vào ch tr ng các ạ ươ ả ế ố ủ ướ ạ ế ề ỗ ố
l nh thích h pệ ợ
struct Connection
{
SOCKADDR_IN addr;
SOCKET s;
HANDLE hThread;
Connection * pNext;
Connection * pPrev;
};
Connection * pHead = 0,*pCur = 0,*pTmp = 0;
SOCKET listen;
SOCKET c;
SOCKADDR_IN cAddr;
int ret , cAddrLen = sizeof(cAddr);
while (1)
{
<A> = accept(listen,(sockaddr*)&cAddr,<B>);
if (!pHead)
{
pTmp = pCur = pHead = <C>;
memset(pTmp,0,sizeof(Connection));
}
else
{
pTmp = <C>;
memset(pTmp,0,sizeof(Connection));
pCur->pNext =<D>;
pTmp->pPrev = <E>;
pCur = pTmp;
};
pTmp->s = <F>;
pTmp->hThread = CreateThread(0,0,ReceiverThread,<G>,0,0);
};
Giá tr thích h p cho <A> làị ợ
a. ret
b. c
c. Đ tr ngể ố
d. pHead
80. Giá tr thích h p cho <B> làị ợ
a. sizeof(cAddr)
b. cAddrLen
c. &cAddrLen
d. &ret
81. Giá tr thích h p cho <C> làị ợ
a. new Connection
b. new SOCKET
c. 0
d. Ph ng án khác…ươ
82. Giá tr thích h p cho <D> làị ơ
a. pTmp
b. pCur
c. pHead
d. pHead->pNext
83. Giá tr thích h p cho <E> làị ợ
a. pHead
b. pCur
c. pTmp
d. pCur->pNext
84. Giá tr thích h p cho <F> làị ợ
a. c
b. listen
c. 0
d. Ph ng án khác…ươ
85. Giá tr thích h p cho <G> làị ợ
a. pHead
b. pCur
c. pTmp
d. 0
86. Đo n ch ng trình sau th c hi n phân gi i tên mi n nh p t bàn phím v i c ng 8888 sau đó hi n các k t qu ra màn ạ ươ ự ệ ả ề ậ ừ ớ ổ ệ ế ả
hình, đi n vào ch tr ng các l nh thích h p.ề ỗ ố ệ ợ
addrinfo * info,*pCur;
char host[1024];
SOCKADDR_IN addr;
int ret;
printf("Nhap dia chi server:");
gets(host);
ret = getaddrinfo(host,<A>,0,<B>);
if (ret)
{
printf("Khong tim thay server");
return 0;
};
pCur = info;
while (pCur)
{
memcpy(&addr,<C>,pCur->ai_addrlen);
printf("%s\n",<D>);
pCur = pCur->ai_next;
};
Giá tr thích h p cho <A> làị ợ
a. “8888”
b. 8888
c. htons(8888)
d. ntohs(8888);
87. Giá tr thích h p cho <B> làị ợ
a. info
b. &info
c. 0
d. &addr
88. Giá tr thích h p cho <C> làị ợ
a. info->ai_addr
b. pCur
c. info
d. pCur->ai_addr
89. Giá tr thích h p cho <D> làị ợ
a. inet_addr(addr.sin_addr)
b. inet_ntoa(pCur)
c. inet_ntoa(pCur->sin_addr)
d. Ph ng án khác…ươ
90. Đo n ch ng trình sau minh h a vi c x lý l nh c a HTTP server đ phân tách URL mà client yêu c u. Server sẽ d ng ạ ươ ọ ệ ử ệ ủ ể ầ ừ
vi c nh n d li u cho đ n khi g p c p ký t “\r\n\r\n”. Đi n vào ch tr ng các l nh thích h pệ ậ ữ ệ ế ặ ặ ự ề ỗ ố ệ ợ
SOCKET s;
char command[1024];
char url[1024];
int len = 0, ret;
char *pos;
while (1)
{
ret = recv(s, <A> , 1 , MSG_WAITALL);
if (ret<=0) break;
len += ret;
if ((command[<B>-1]=='\n')&&(command[<B>-2]=='\r')&&
(command[<B>-4]=='\n')&&(command[<B>-3]=='\r'))
break;
};
command[len] = 0;
if (strstr(command,"GET ")==0)
printf("Unknown command");
pos = strstr(command,"HTTP/1.0");
if (pos==0)
pos = strstr(command,"HTTP/1.1");
if (pos <C> 0)
{
printf("Invalid format");
return 0;
};
strncpy(url,<D>,pos-command-4);
url[<E>] = 0;
Giá tr thích h p cho <A> làị ợ
a. command
b. command+len
c. command+1
d. &command
91. Giá tr thích h p cho <B> làị ợ
a. ret
b. len
c. pos
d. len-1
92. Giá tr thích h p cho <C> làị ợ
a. ==
b. >
c. <
d. <=
93. Giá tr thích h p cho <D> làị ợ
a. command
b. command+4
c. command-4
d. &command+4
94. Giá tr thích h p cho <E> làị ợ
a. pos
b. pos-command
Bấm Tải xuống để xem toàn bộ.