Đề thi giữa kỳ môn Lập trình mạng | Trường Đại học Bách Khoa Hà Nội

Thư viện liên kết động của Windows Socket có tên là: WinSock.DLL; WinSock2.DLL; WS2.DLL; WS2_32.DL. 2. Để có thể sử dụng thư viện Windows Socket, tệp tiêu đề cần khai báo là: Winsock.h; Winsock2.h; Ws2_32.h; Ws2.h

PHẦN TRẢ LỜI TRẮC NGHIỆM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
PHẦN CÂU HỎI
1. Thư vin liên kết động ca Windows Socket tên là:
a. WinSock.DLL
b. WinSock2.DLL
c. WS2.DLL
d. WS2_32.DL
2. Đ th s dng thư vin Windows Socket, tp tiêu đề cn khai báo là:
a. Winsock.h
b. Winsock2.h
c. Ws2_32.h
d. Ws2.h
3. Công c chun đoán mng dùng để hin th các kết ni hin trên y tính
a. Wireshark
b. TCPView
c. Netcat
d. Tt c
4. Công c dùng để theo dõi tài nguyên s dng ca y tính trên h điu hành Windows
a. Task Manager
b. ResourceMonitor
c. Wireshark
d. a b.
5. Công c dùng để bt các gói tin gi ra và vào mt giao din mng ca máy tính
a. Netcat
b. Network Monitor
c. Cain
d. C ba đều sai.
6. Công c đa năng, va th đóng vai trò client, va server, chy trên giao thc TCP, UDP là.
a. Netcat
b. TCPDump
c. Netstat
d. Network Monitor
7. Nếu cn phi viết mt ng dng cn tính đáp ng nhanh chp nhn sai sót. Giao thc la chn s
a. TCP
b. IP
c. ICMP
d. UDP
8. Dch v phân gii tên min chy tng nào trong các tng sau đây
a. Application
b. Transport
c. Internetwork
d. Datalink
9. Giao thc nào được s dng để chia s mt địa ch toàn cc cho mt nhóm các y tính trong mng LAN.
a. VLAN
b. MAC
c. NAT
d. Không đáp án nào đúng
10. Trong mt mng y tính được chia s chung mt địa ch IP toàn cc. Thiết lp nào sau đây s cho phép mt máy tính t
Internet ch động kết ni đến mt y ch trong mng.
a. DMZ
b. Virtual Server
c. Port Forwarding
d. C ba phương án trên.
11. Công c nào s dng để kim tra hot động ca mt y ch phân gii tên min
a. Ping
b. Nslookup
c. Netstat
d. Ipconfig
12. Nếu cn phát trin thêm trình điu khin cho mt loi thiết b mi. ng dng s phi viết tng nào ca Windows Socket
a. Application
b. Provider
c. Transport Protocol
d. Không tng nào đúng
13. Nếu cn phi thiết kế mt giao thc mi, ng dng s phi tích hp vào tng nào ca Windows Socket API
a. Application
b. Provider
c. Transport Protocol
d. Không tng nào đúng.
14. Trình điu khin cho mt thiết b mng s được chy chế độ
a. User Mode
b. Kernel Mode
c. System Mode
d. Không phương án nào đúng.
15. Biên ca thông đip trong các giao thc hướng dòng được bo toàn hay không ?
a.
b. Không
c. y tng trường hp, nếu được t chc hp lý.
16. Hàm nào sau đây thc hin công vic khi to Windows Socket
a. WSStartup
b. WinsockStartup
c. SocketStartup
d. WSAStartup
17. WSADATA cu trúc dùng để
a. Truyn thông tin v phiên bn WinSock ng dng mun khi to
b. Nhn thông tin v phiên bn WinSock trên h thng.
c. C hai đáp án đều sai.
18. Hàm nào sau đây s dng để gii phóng Windows Socket API.
a. WSACleanup
b. WSCleanup
c. Cleanup
d. Phương án khác:
19. Đ ly li ca thao tác ngay trước đó. Hàm nào sau đây s được s dng
a. GetLastError
b. WSAGetError
c. WSAGetLastError
d. WSALastError
20. Đon chương trình sau thc hin kết ni đến mt server, đin vào v trí <A>, <B>, <C> các lnh 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>: để trng.
d. Không phương án nào đúng.
21. Trong Windows Socket, vi các hàm không tin t WSA thì li tr v 0 nghĩa là:
a. Thành công
b. Tht bi
c. y trường hp
22. Lnh nào sau đây dùng để to mt socket TCP
a. socket(AF_INET,SOCK_STREAM,IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
d. socket(AF_INET,SOCKSTREAM,IPPROTOTCP).
23. Lnh nào sau đây dùng để to mt socket UDP
a. socket(AF_INET,SOCK_UDP, IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
d. Không lnh nào đúng.
24. Cu trúc nào được s dng để khai báo địa ch socket internet:
a. sock_addr
b. sockaddr
c. sockaddr_in
d. sock_addr_in
25. Các giá tr ln hơn 01 byte trong cu trúc lưu tr địa ch ca socket được t chc theo kiu:
a. Đu to
b. Đu nh
c. y trường hp
26. Đ chuyn đổi mt xâu sang địa ch IP, lnh nào sau đây đú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”);
27. Đ chuyn đổi mt địa ch IP lưu trong biến serverAddr lưu tr địa ch socket sang dng xâu t, lnh nào sau đây đú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);
28. Đ chuyn đổi giá tr cng t đầu nh sang đầu to, lnh nào sau đây s được s dng
a. ntohl
b. ntohs
c. htonl
d. htons
29. Trong li gi hàm recv(s,buff,1024,0), giá tr 1024 nghĩa là:
a. S byte mun nhn
b. S byte ti đa mun nhn.
c. Kích thước b đệm.
d. C b c đều đúng.
30. Đ thc hin phân gii tên min bng WinSock, cn b sung tp tiêu đề nào
a. Winsock2.h
b. Ws2_32.h
c. Ws2ip.h
d. Ws2tcpip.h
Đon chương sau nhn v mt xâu và gi tr xâu theo th t ngược li. Đin vào các v trí <A>,<B>,<C>,<D>,<E> các câu lnh
thích hp:
SOCKET s;
char c, str[1024];
int i,len;
while (1)
{
len = recv(s,str,1024,0);
str[<A>] = 0;
for (i=0;i<len/2;i++)
{
c = <B>; str[i] = str[<C>]; str[len-i-1]=<D>;
};
send(<E>,str,len,0);
}
31. Câu lnh thích hp cho <A>
a. len
b. i
c. 1024
d. 0
32. Câu lnh thích hp cho <B>
a. str[0]
b. str[len]
c. str[len-1]
d. str[i]
33. Câu lnh thích hp cho <C>
a. len/2
b. len-1
c. len-i
d. len-i-1
34. Câu lnh thích hp cho <D>
a. c
b. str[i]
c. str[0]
d. str[i-1]
35. Câu lnh thích hp cho <E>
a. c
b. s
c. len
d. i
Đon chương trình sau đọc ni dung mt tp tin gi đi qua kết ni c đã được thành lp.
Đin vào các v trí <A> , <B>các câu lnh/giá tr thích hp
SOCKET c;
FILE * fp;
char buff[1024];
int len;
fp = fopen("name.txt","rb");
while (<A>)
{
len = fread(<B>,1,1024,<C>);
if (len <=0)
break;
send(<D>,buff,<E>,0);
};
closesocket(c);
fclose(fp);
36. Giá tr thích hp cho <A>
a. fp
b. feof(fp)
c. !fp
d. !feof(fp)
37. Giá tr thích hp cho <B>
a. buff
b. fp
c. c
d. &buff
38. Giá tr thích hp cho <C>
a. buff
b. &buff
c. fp
d. &fp
39. Giá tr thích hp cho <D>
a. s
b. &s
c. fp
d. &fp
40. Giá tr thích hp cho <E>
a. 1024
b. len
c. &len
d. 0.
PHẦN TRẢ LỜI TRẮC NGHIỆM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
PHẦN CÂU HỎI
1. Thư vin liên kết động ca Windows Socket tên là:
a. WinSock.DLL
b. WinSock2.DLL
c. WS2.DLL
d. WS2_32.DL
2. Công c dùng để theo dõi tài nguyên s dng ca y tính trên h điu hành Windows
a. Task Manager
b. ResourceMonitor
c. Wireshark
d. a b.
3. Đ th s dng thư vin Windows Socket, tp tiêu đề cn khai báo là:
a. Winsock.h
b. Winsock2.h
c. Ws2_32.h
d. Ws2.h
4. Đ th s dng dng thư vin Windows Socket, tp thư vin cn 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
5. Nếu cn phi viết mt ng dng cn tính đáp ng nhanh chp nhn sai sót. Giao thc la chn s
a. TCP
b. IP
c. ICMP
d. UDP
6. Công c nào s dng để kim tra hot động ca mt y ch phân gii tên min
a. Ping
b. Nslookup
c. Netstat
d. Ipconfig
7. Công c chun đoán mng dùng để hin th các kết ni hin trên y tính
a. Wireshark
b. TCPView
c. Netcat
d. Tt c
8. Công c dùng để bt các gói tin gi ra và vào mt giao din mng ca máy tính
a. Netcat
b. Wireshark
c. Cain
d. C ba đều sai.
9. Công c đa năng, va th đóng vai trò client, va server, chy trên giao thc TCP, UDP là.
a. Netcat
b. TCPDump
c. Netstat
d. Network Monitor
10. Dch v phân gii tên min chy tng nào trong các tng sau đây
a. Application
b. Transport
c. Internetwork
d. Datalink
11. Giao thc nào được s dng để chia s mt địa ch toàn cc cho mt nhóm các y tính trong mng LAN.
a. VLAN
b. MAC
c. NAT
d. Không đáp án nào đúng
12. Trong mt mng y tính được chia s chung mt địa ch IP toàn cc. Thiết lp nào sau đây s cho phép mt máy tính t
Internet ch động kết ni đến mt y ch trong mng.
a. DMZ
b. Virtual Server
c. Port Forwarding
d. C ba phương án trên.
13. Nếu cn phát trin thêm trình điu khin cho mt loi thiết b mi. ng dng s phi viết tng nào ca Windows Socket
a. Application
b. Provider
c. Transport Protocol
d. Không tng nào đúng
14. Nếu cn phi thiết kế mt giao thc mi, ng dng s phi tích hp vào tng nào ca Windows Socket API
a. Application
b. Provider
c. Transport Protocol
d. Không tng nào đúng.
15. Trình điu khin cho mt thiết b mng s được chy chế độ
a. User Mode
b. Kernel Mode
c. System Mode
d. Không phương án nào đúng.
16. Biên ca thông đip trong các giao thc hướng dòng được bo toàn hay không ?
a.
b. Không
c. y tng trường hp, nếu được t chc hp lý.
17. Hàm nào sau đây thc hin công vic khi to Windows Socket
a. WSStartup
b. WinsockStartup
c. SocketStartup
d. WSAStartup
18. WSADATA cu trúc dùng để
a. Truyn thông tin v phiên bn WinSock ng dng mun khi to
b. Nhn thông tin v phiên bn WinSock trên h thng.
c. C hai đáp án đều sai.
19. Đ chuyn đổi giá tr cng t đầu nh sang đầu to, lnh nào sau đây s được s dng
a. ntohl
b. ntohs
c. htonl
d. htons
20. Hàm nào sau đây s dng để gii phóng Windows Socket API.
a. WSACleanup
b. WSCleanup
c. Cleanup
d. Phương án khác:
21. Đ ly li ca thao tác ngay trước đó. Hàm nào sau đây s được s dng
a. GetLastError
b. WSAGetError
c. WSAGetLastError
d. WSALastError
22. Đ chuyn đổi mt địa ch IP lưu trong biến serverAddr lưu tr địa ch socket sang dng xâu t, lnh nào sau đây đúng
a. inet_ntos(serverAddr.sin_addr);
b. inet_ntoa(serverAddr.s_addr);
c. inet_ntoa(serverAddr.sin_addr);
d. inet_itos(serverAddr.sin_addr);
23. Lnh nào sau đây dùng để to mt socket TCP
a. socket(AF_INET,SOCK_STREAM,IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
d. socket(AF_INET,SOCKSTREAM,IPPROTOTCP).
24. Lnh nào sau đây dùng để to mt socket UDP
a. socket(AF_INET,SOCK_UDP, IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
d. Không lnh nào đúng.
25. Đon chương trình sau thc hin kết ni đến mt server, đin vào v trí <A>, <B>, <C> các lnh 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>: để trng.
d. Không phương án nào đúng.
26. Đ chuyn đổi mt xâu sang địa ch IP, lnh nào sau đây đú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”);
27. Trong Windows Socket, vi các hàm không tin t WSA thì li tr v 0 nghĩa là:
a. Thành công
b. Tht bi
c. y trường hp
28. Cu trúc nào được s dng để khai báo địa ch socket internet:
a. sock_addr
b. sockaddr
c. sockaddr_in
d. sock_addr_in
29. Các giá tr ln hơn 01 byte trong cu trúc lưu tr địa ch ca socket được t chc theo kiu:
a. Đu to
b. Đu nh
c. y trường hp
30. Đ thc hin phân gii tên min bng WinSock, cn b sung tp tiêu đề nào
a. Winsock2.h
b. Ws2_32.h
c. Ws2ip.h
d. Ws2tcpip.h
Đon chương trình sau đọc ni dung mt tp tin gi đi qua kết ni c đã được thành lp.
Đin vào các v trí <A> , <B>các câu lnh/giá tr thích hp
SOCKET c;
FILE * fp;
char buff[1024];
int len;
fp = fopen("name.txt","rb");
while (<A>)
{
len = fread(<B>,1,1024,<C>);
if (len <=0)
break;
send(<D>,buff,<E>,0);
}7s
closesocket(c);
fclose(fp);
31. Giá tr thích hp cho <A>
a. fp
b. feof(fp)
c. !fp
d. !feof(fp)
32. Giá tr thích hp cho <B>
a. buff
b. fp
c. c
d. &buff
33. Giá tr thích hp cho <C>
a. buff
b. &buff
c. fp
d. &fp
34. Giá tr thích hp cho <D>
a. s
b. &s
c. fp
d. &fp
35. Giá tr thích hp cho <E>
a. 1024
b. len
c. &len
d. 0.
Đon chương sau nhn v mt xâu và gi tr xâu theo th t ngược li. Đin vào các v trí <A>,<B>,<C>,<D>,<E> các câu lnh
thích hp:
SOCKET s;
char c, str[1024];
int i,len;
while (1)
{
len = recv(s,str,1024,0);
str[<A>] = 0;
for (i=0;i<len/2;i++)
{
c = <B>; str[i] = str[<C>]; str[len-i-1]=<D>;
};
send(<E>,str,len,0);
}
36. Câu lnh thích hp cho <A>
a. len
b. i
c. 1024
d. 0
37. Câu lnh thích hp cho <B>
a. str[0]
b. str[len]
c. str[len-1]
d. str[i]
38. Câu lnh thích hp cho <C>
a. len/2
b. len-1
c. len-i
d. len-i-1
39. Câu lnh thích hp cho <D>
a. c
b. str[i]
c. str[0]
d. str[i-1]
40. Câu lnh thích hp cho <E>
a. c
b. s
c. len
1. Thư vin liên kết đng ca Windows Socket có tên là:
a. WinSock.DLL
b. WinSock2.DLL
c. WS2.DLL
d. WS2_32.DLL
2. Công c nào s dng đ kim tra hot đng ca mt máy
ch phân gii tên min
a. Ping
b. Nslookup
c. Netstat
d. Ipconfig
3. Biên ca thông đip trong các giao thc hướng dòng
được bo toàn hay không ?
a.
b. Không
c. y tng trường hp, nếu được t chc hp lý.
4. Công c dùng để theo dõi tài nguyên s dng ca y
tính trên h điu hành Windows
a. Task Manager
b. Resource Monitor
c. Wireshark
d. Phương án a b.
5. Nếu cn phát trin thêm trình điu khin cho mt loi
thiết b mi. ng dng s phi viết tng nào ca
Windows Socket
a. Application
b. Provider
c. Transport Protocol
d. Không tng nào đúng
6. Công c dùng để bt các gói tin gi ra vào mt giao
din mng ca máy tính
a. Netcat
b. Network Monitor
c. Cain
d. Không phương án nào đúng.
7. Công c đa năng, va th đóng vai trò client, va
server, chy trên giao thc TCP, UDP là.
a. Netcat
b. TCPDump
c. Netstat
d. Network Monitor
8. WSADATA cu trúc dùng để
a. Truyn thông tin v phiên bn WinSock ng
dng mun khi to
b. Nhn thông tin v phiên bn WinSock trên h
thng.
c. C hai đáp án đều sai.
9. Đ th s dng thư vin Windows Socket, tp tiêu đề
cn khai báo là:
a. Winsock.h
b. Winsock2.h
c. Ws2_32.h
d. Ws2.h
10. Nếu cn phi viết mt ng dng cn tính đáp ng nhanh
chp nhn sai sót. Giao thc la chn s
a. TCP
b. IP
c. ICMP
d. UDP
11. Dch v phân gii tên min chy tng nào trong các
tng sau đây
a. Application
b. Transport
c. Internetwork
d. Datalink
12. Giao thc nào được s dng để chia s mt địa ch toàn
cc cho mt nhóm các máy tính trong mng LAN.
a. VLAN
b. MAC
c. NAT
d. Không đáp án nào đúng
13. Trong mt mng máy tính được chia s chung mt địa ch
IP toàn cc. Thiết lp nào sau đây s cho phép mt máy
tính t Internet ch động kết ni đến mt máy ch trong
mng.
a. DMZ
b. Virtual Server
c. Port Forwarding
d. C ba phương án trên.
14. Đ th s dng dng thư vin Windows Socket, tp thư
vin cn 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
15. Nếu cn phi thiết kế mt giao thc mi, ng dng s
phi tích hp vào tng nào ca Windows Socket API
a. Application
b. Provider
c. Transport Protocol
d. Không tng nào đúng.
16. Công c chun đoán mng dùng để hin th các kết ni
hin trên y tính
a. Wireshark
b. TCPView
c. Netcat
d. Tt c các công c trên
17. Trình điu khin cho mt thiết b mng s được chy
chế độ
a. User Mode
b. Kernel Mode
c. System Mode
d. Không phương án nào đúng.
18. Hàm nào sau đây thc hin công vic khi to Windows
Socket
a. WSStartup
b. WinsockStartup
c. SocketStartup
d. WSAStartup
19. Hàm nào sau đây s dng để gii phóng Windows Socket API.
a. WSACleanup
b. WSCleanup
c. Cleanup
d. Phương án khác:
20. Lnh nào sau đây dùng để to mt socket TCP
a. socket(AF_INET,SOCK_STREAM,IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
d. socket(AF_INET,SOCKSTREAM,IPPROTOTCP).
21. Cu trúc nào được s dng để khai báo địa ch socket
internet:
a. sock_addr
b. sockaddr
c. sockaddr_in
d. sock_addr_in
22. Các giá tr ln hơn 01 byte trong cu trúc lưu tr địa ch
ca socket được t chc theo kiu:
a. Đu to
b. Đu nh
c. y trường hp
23. Đ ly li ca thao tác ngay trước đó. Hàm nào sau
đây s được s dng
a. GetLastError
b. WSAGetError
c. WSAGetLastError
d. WSALastError
24. Đ chuyn đổi mt xâu sang địa ch IP, lnh nào sau đây
đú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”);
25. Trong Windows Socket, vi các hàm không tin t
WSA thì li tr v 0 nghĩa là:
a. Thành công
b. Tht bi
c. y trường hp
26. Đon chương trình sau thc hin kết ni đến mt server,
đin vào v trí <A>, <B>, <C> các lnh 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>:
để trng.
d. Không phương án nào đúng.
27. Đ chuyn đổi mt địa ch IP lưu trong biến serverAddr
lưu tr địa ch socket sang dng xâu t, lnh nào sau
đây đú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);
28. Lnh nào sau đây dùng để to mt socket UDP
a. socket(AF_INET,SOCK_UDP, IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
d. Không lnh nào đúng.
29. Đ chuyn đổi giá tr cng t đầu nh sang đầu to, lnh
nào sau đây s được s dng
a. ntohl
b. ntohs
c. htonl
d. htons
30. Đ thc hin phân gii tên min bng WinSock, cn b
sung tp tiêu đề nào
a. Winsock2.h
b. Ws2_32.h
c. Ws2ip.h
d. Ws2tcpip.
Phn 2. T lun
(4đ viết ra giấy tự chuẩn bị)
Viết chương trình FileClient s dng hình blocking làm nhim v sau:
1. Kết ni đến server địa ch/tên min được nhp t bàn phím.
2. Nhn tên file t bàn phím và gi yêu cu ti file đến server, php dng “GET <TenFile>\n.
3. X kết qu t server
a. Nếu server báo li, thì d liu gi tr dng “FAILED\n<ThongBaoLoi>\n\n”.
b. Nếu server báo thành công thì d liu gi tr dng “OK\n<FileSize>\n<NoiDungFile>\n\n. Phân tích kết qu t
server và ghi ni dung file nhn được ra đĩa.
4. Chương trình th ti nhiu file cùng mt lúc, t nhiu server.
1. Thư vin liên kết đng ca Windows Socket có tên là:
a. WinSock.DLL
b. WinSock2.DLL
c. WS2.DLL
d. WS2_32.DLL
2. Biên ca thông đip trong các giao thc hưng dòng có
được bo toàn hay không ?
a.
b. Không
c. y tng trường hp, nếu được t chc hp lý.
3. Nếu cn phát trin thêm trình điu khin cho mt loi
thiết b mi. ng dng s phi viết tng nào ca
Windows Socket
a. Application
b. Provider
c. Transport Protocol
d. Không tng nào đúng
4. Công c dùng để bt các gói tin gi ra vào mt giao
din mng ca máy tính
a. Netcat
b. Network Monitor
c. Cain
d. Không phương án nào đúng.
5. WSADATA cu trúc dùng để
a. Truyn thông tin v phiên bn WinSock ng
dng mun khi to
b. Nhn thông tin v phiên bn WinSock trên h
thng.
c. C hai đáp án đều sai.
6. Đ th s dng thư vin Windows Socket, tp tiêu đề
cn khai báo là:
a. Winsock.h
b. Winsock2.h
c. Ws2_32.h
d. Ws2.h
7. Trình điu khin cho mt thiết b mng s được chy
chế độ
a. User Mode
b. Kernel Mode
c. System Mode
d. Không phương án nào đúng.
8. Nếu cn phi viết mt ng dng cn tính đáp ng nhanh
chp nhn sai sót. Giao thc la chn s
a. TCP
b. IP
c. ICMP
d. UDP
9. Dch v phân gii tên min chy tng nào trong các
tng sau đây
a. Application
b. Transport
c. Internetwork
d. Datalink
10. Công c nào s dng để kim tra hot động ca mt máy
ch phân gii tên min
a. Ping
b. Nslookup
c. Netstat
d. Ipconfig
11. Giao thc nào đưc s dng đ chia s mt đa ch toàn
cc cho mt nhóm các máy tính trong mng LAN.
a. VLAN
b. MAC
c. NAT
d. Không đáp án nào đúng
12. Trong mt mng máy tính được chia s chung mt địa ch
IP toàn cc. Thiết lp nào sau đây s cho phép mt máy
tính t Internet ch động kết ni đến mt máy ch trong
mng.
a. DMZ
b. Virtual Server
c. Port Forwarding
d. C ba phương án trên.
13. Công c dùng để theo dõi tài nguyên s dng ca y
tính trên h điu hành Windows
a. Task Manager
b. Resource Monitor
c. Wireshark
d. Phương án a b.
14. Đ th s dng dng thư vin Windows Socket, tp thư
vin cn 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
15. Nếu cn phi thiết kế mt giao thc mi, ng dng s
phi tích hp vào tng nào ca Windows Socket API
a. Application
b. Provider
c. Transport Protocol
d. Không tng nào đúng.
16. Công c đa năng, va th đóng vai trò client, va
server, chy trên giao thc TCP, UDP là.
a. Netcat
b. TCPDump
c. Netstat
d. Network Monitor
17. Công c chun đoán mng dùng để hin th các kết ni
hin trên y tính
a. Wireshark
b. TCPView
c. Netcat
d. Tt c các công c trên
18. Hàm nào sau đây thc hin công vic khi to Windows
Socket
a. WSStartup
b. WinsockStartup
c. SocketStartup
d. WSAStartup
19. Hàm nào sau đây s dng để gii phóng Windows Socket API.
a. WSACleanup
b. WSCleanup
c. Cleanup
d. Phương án khác:
20. Lnh nào sau đây dùng để to mt socket TCP
a. socket(AF_INET,SOCK_STREAM,IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
d. socket(AF_INET,SOCKSTREAM,IPPROTOTCP).
21. Đ chuyn đổi giá tr cng t đầu nh sang đầu to, lnh
nào sau đây s được s dng
a. ntohl
b. ntohs
c. htonl
d. htons
22. Cu trúc nào được s dng để khai báo địa ch socket
internet:
a. sock_addr
b. sockaddr
c. sockaddr_in
d. sock_addr_in
23. Các giá tr ln hơn 01 byte trong cu trúc lưu tr địa ch
ca socket được t chc theo kiu:
a. Đu to
b. Đu nh
c. y trường hp
24. Đ ly li ca thao tác ngay trước đó. Hàm nào sau
đây s được s dng
a. GetLastError
b. WSAGetError
c. WSAGetLastError
d. WSALastError
25. Đ chuyn đổi mt xâu sang địa ch IP, lnh nào sau đây
đú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”);
26. Trong Windows Socket, vi các hàm không tin t
WSA thì li tr v 0 nghĩa là:
a. Thành công
b. Tht bi
c. y trường hp
27. Đ chuyn đổi mt địa ch IP lưu trong biến serverAddr
lưu tr địa ch socket sang dng xâu t, lnh nào sau
đây đú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);
28. Đon chương trình sau thc hin kết ni đến mt server,
đin vào v trí <A>, <B>, <C> các lnh 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>:
để trng.
d. Không phương án nào đúng.
29. Lnh nào sau đây dùng để to mt socket UDP
a. socket(AF_INET,SOCK_UDP, IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
d. Không lnh nào đúng.
30. Đ thc hin phân gii tên min bng WinSock, cn b
sung tp tiêu đề nào
a. Winsock2.h
b. Ws2_32.h
c. Ws2ip.h
d. Ws2tcpip.
Phn 2. T lun
(4đ viết ra giấy tự chuẩn bị)
Viết chương trình FileClient s dng hình select làm nhim v sau:
1. Kết ni đến server địa ch/tên min được nhp t bàn phím.
2. Nhn tên file t bàn phím và gi yêu cu ti file đến server, php dng “GET <TenFile>\n.
3. X kết qu t server
a. Nếu server báo li, thì d liu gi tr dng “FAILED\n<ThongBaoLoi>\n\n”.
b. Nếu server báo thành công thì d liu gi tr dng “OK\n<FileSize>\n<NoiDungFile>\n\n. Phân tích kết qu t
server và ghi ni dung file nhn được ra đĩa.
4. Chương trình th ti nhiu file cùng mt lúc.
Ngày thi: 18/10/2011
Thi gian: 15h -> 16h30
Đa đim: TC-412
Không s dng tài liu
Đ 0.Viết chương trình FileServer s dng hình blocking làm nhim v sau:
a. Đi kết ni x lý lnh t client. Các lnh dng “GET <TenFile>\n.
b. Thc hin đọc t thư mc hin ti tp tin <TenFile> gi tr client theo định dng
“OK\n<Kichthuocfile>\n\n<Noidungfile>”
c. Nếu file không tn ti thì gi tr client xâu “FAILED\nFile not found\n\n”.
d. Chương trình th đáp ng được nhiu yêu cu t nhiu client đồng thi.
Đ 1.Viết chương trình FileClient s dng hình blocking làm nhim v sau:
a. Kết ni đến server địa ch/tên min được nhp t bàn phím.
b. Nhn tên file t bàn phím gi yêu cu ti file đến server, php dng “GET <TenFile>\n”.
c. X kết qu t server
i. Nếu server báo li, thì d liu gi tr dng “FAILED\n<ThongBaoLoi>\n\n”.
ii. Nếu server báo thành công thì d liu gi tr dng “OK\n<FileSize>\n<NoiDungFile>\n\n”. Phân tích
kết qu t server và ghi ni dung file nhn được ra đĩa.
d. Chương trình th ti nhiu file cùng mt lúc, t nhiu server.
Đ 2.Viết chương trình FileServer s dng hình select làm nhim v sau:
a. Đi kết ni x lý lnh t client. Các lnh dng “GET <TenFile>\n.
b. Thc hin đọc t thư mc hin ti tp tin <TenFile> gi tr client theo định dng
“OK\n<Kichthuocfile>\n\n<Noidungfile>”
c. Nếu file không tn ti thì gi tr client xâu “FAILED\nFile not found\n\n”.
d. Chương trình th đáp ng được nhiu yêu cu t nhiu client đồng thi.
Đ 3.Viết chương trình FileClient s dng hình select làm nhim v sau:
a. Kết ni đến server địa ch/tên min được nhp t bàn phím.
b. Nhn tên file t bàn phím gi yêu cu ti file đến server, php dng “GET <TenFile>\n”.
c. X kết qu t server
i. Nếu server báo li, thì d liu gi tr dng “FAILED\n<ThongBaoLoi>\n\n”.
ii. Nếu server báo thành công thì d liu gi tr dng “OK\n<FileSize>\n<NoiDungFile>\n\n”. Phân tích
kết qu t server và ghi ni dung file nhn được ra đĩa.
d. Chương trình th ti nhiu file cùng mt lúc, t nhiu server.
Đ 4.Viết chương trình FileServer s dng hình WSAEventSelect làm nhim v sau:
e. Đi kết ni x lý lnh t client. Các lnh dng “GET <TenFile>\n.
f. Thc hin đọc t thư mc hin ti tp tin <TenFile> gi tr client theo định dng
“OK\n<Kichthuocfile>\n\n<Noidungfile>”
g. Nếu file không tn ti thì gi tr client xâu “FAILED\nFile not found\n\n.
h. Chương trình th đáp ng được nhiu yêu cu t nhiu client đồng thi.
Đ 5.Viết chương trình FileClient s dng hình WSAEventSelect làm nhim v sau:
e. Kết ni đến server địa ch/tên min được nhp t bàn phím.
f. Nhn tên file t bàn phím và gi yêu cu ti file đến server, php dng “GET <TenFile>\n.
g. X lý kết qu t server
iii. Nếu server báo li, thì d liu gi tr dng “FAILED\n<ThongBaoLoi>\n\n”.
iv. Nếu server báo thành công thì d liu gi tr dng “OK\n<FileSize>\n<NoiDungFile>\n\n. Phân tích
kết qu t server và ghi ni dung file nhn được ra đĩa.
h. Chương trình th ti nhiu file cùng mt lúc, t nhiu server.
Lưu ý: Đề thi ca sinh viên = phn dư (s th t / 6). d: STT 15 => Làm đề 3
| 1/13

Preview text:

PHẦN TRẢ LỜI TRẮC NGHIỆM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 PHẦN CÂU HỎI 1.
Thư viện liên kết động của Windows Socket có tên là: a. WinSock.DLL c. WS2.DLL b. WinSock2.DLL d. WS2_32.DL 2.
Để có thể sử dụng thư viện Windows Socket, tệp tiêu đề cần khai báo là: a. Winsock.h c. Ws2_32.h b. Winsock2.h d. Ws2.h 3.
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 c. Netcat b. TCPView d. Tất cả 4.
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 c. Wireshark b. ResourceMonitor d. a và b. 5.
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 c. Cain b. Network Monitor d. Cả ba đều sai. 6.
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 c. Netstat b. TCPDump d. Network Monitor 7.
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 c. ICMP b. IP d. UDP 8.
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 c. Internetwork b. Transport d. Datalink 9.
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 c. NAT b. MAC d. Không đáp án nào đúng
10. 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 c. Port Forwarding b. Virtual Server d. Cả ba phương án trên.
11. 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 c. Netstat b. Nslookup d. Ipconfig
12. 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 c. Transport Protocol b. Provider d. Không tầng nào đúng
13. 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.
14. Trình điều khiển cho một thiết bị mạng sẽ được chạy ở chế độ a. User Mode c. System Mode b. Kernel Mode d.
Không phương án nào đúng.
15. 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ý.
16. Hàm nào sau đây thực hiện công việc khởi tạo Windows Socket a. WSStartup c. SocketStartup b. WinsockStartup d. WSAStartup
17. 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.
18. Hàm nào sau đây sử dụng để giải phóng Windows Socket API. a. WSACleanup c. Cleanup b. WSCleanup d. Phương án khác:…
19. Để 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 c. WSAGetLastError b. WSAGetError d. WSALastError
20. Đ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í , , 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.
: GetLastError, : closesocket (s), : WSACleanup(). b.
: WSAGetLastError(), close(s), : Cleanup(). c.
: WSALastError(), : closesocket(s), : để trống. d.
Không phương án nào đúng.
21. 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
22. Lệnh nào sau đây dùng để tạo một socket TCP a.
socket(AF_INET,SOCK_STREAM,IPPROTO_TCP). c.
Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP) b.
socket(AF_INET,SOCK_DGRAM,IPROTO_TCP). d.
socket(AF_INET,SOCKSTREAM,IPPROTOTCP).
23. Lệnh nào sau đây dùng để tạo một socket UDP a.
socket(AF_INET,SOCK_UDP, IPPROTO_TCP). c.
Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP) b.
socket(AF_INET,SOCK_DGRAM,IPROTO_TCP). d. Không lệnh nào đúng.
24. Cấu trúc nào được sử dụng để khai báo địa chỉ socket internet: a. sock_addr c. sockaddr_in b. sockaddr d. sock_addr_in
25. 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 c. Tùy trường hợp b. Đầu nhỏ
26. Để 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”); c. inet_addr(“192.168.1.1”); b. inet_aton(“192.168.1.1”); d. inet_stoi(“192.168.1.1”);
27. Để 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); c.
inet_itos(serverAddr.sin_addr); b. inet_ntoa(serverAddr.s_addr); d.
inet_ntoa(serverAddr.sin_addr);
28. Để 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
29. 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 c. Kích thước bộ đệm. b.
Số byte tối đa muốn nhận. d. Cả b và c đều đúng.
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 c. Ws2ip.h b. Ws2_32.h d. Ws2tcpip.h
Đoạn chương sau nhận về một xâu và gửi trả xâu theo thứ tự ngược lại. Điền vào các vị trí ,,,, các câu lệnh thích hợp: SOCKET s; char c, str[1024]; int i,len; while (1) { len = recv(s,str,1024,0); str[] = 0; for (i=0;i{ c = ; str[i] = str[]; str[len-i-1]=; }; send(,str,len,0); }
31. Câu lệnh thích hợp cho là a. len c. 1024 b. i d. 0
32. Câu lệnh thích hợp cho là a. str[0] c. str[len-1] b. str[len] d. str[i]
33. Câu lệnh thích hợp cho là a. len/2 c. len-i b. len-1 d. len-i-1
34. Câu lệnh thích hợp cho là a. c c. str[0] b. str[i] d. str[i-1]
35. Câu lệnh thích hợp cho là a. c c. len b. s d. i
Đoạn chương trình sau đọc nội dung một tệp tin và gửi đi qua kết nối c đã được thành lập.
Điền vào các vị trí , …các câu lệnh/giá trị thích hợp SOCKET c; FILE * fp; char buff[1024]; int len;
fp = fopen("name.txt","rb"); while () { len = fread(,1,1024,); if (len <=0) break; send(,buff,,0); }; closesocket(c); fclose(fp);
36. Giá trị thích hợp cho là a. fp c. !fp b. feof(fp) d. !feof(fp)
37. Giá trị thích hợp cho là a. buff c. c b. fp d. &buff
38. Giá trị thích hợp cho là a. buff c. fp b. &buff d. &fp
39. Giá trị thích hợp cho là a. s c. fp b. &s d. &fp
40. Giá trị thích hợp cho là a. 1024 c. &len b. len d. 0.
PHẦN TRẢ LỜI TRẮC NGHIỆM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 PHẦN CÂU HỎI 1.
Thư viện liên kết động của Windows Socket có tên là: a. WinSock.DLL c. WS2.DLL b. WinSock2.DLL d. WS2_32.DL 2.
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 c. Wireshark b. ResourceMonitor d. a và b. 3.
Để có thể sử dụng thư viện Windows Socket, tệp tiêu đề cần khai báo là: a. Winsock.h c. Ws2_32.h b. Winsock2.h d. Ws2.h 4.
Để 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 c. WS2_32.DLL b. WS2_32.LIB d. Winsock2.dll 5.
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 c. ICMP b. IP d. UDP 6.
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 c. Netstat b. Nslookup d. Ipconfig 7.
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 c. Netcat b. TCPView d. Tất cả 8.
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 c. Cain b. Wireshark d. Cả ba đều sai. 9.
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 c. Netstat b. TCPDump d. Network Monitor
10. 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 c. Internetwork b. Transport d. Datalink
11. 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 c. NAT b. MAC d. Không đáp án nào đúng
12. 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 c. Port Forwarding b. Virtual Server d. Cả ba phương án trên.
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 c. Transport Protocol b. Provider d. Không tầng nào đúng.
15. Trình điều khiển cho một thiết bị mạng sẽ được chạy ở chế độ a. User Mode c. System Mode b. Kernel 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 c. SocketStartup b. WinsockStartup 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. Để 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 c. htonl b. ntohs d. htons
20. Hàm nào sau đây sử dụng để giải phóng Windows Socket API. a. WSACleanup c. Cleanup b. WSCleanup d. Phương án khác:…
21. Để 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 c. WSAGetLastError b. WSAGetError d. WSALastError
22. Để 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); c.
inet_ntoa(serverAddr.sin_addr); b. inet_ntoa(serverAddr.s_addr); d.
inet_itos(serverAddr.sin_addr);
23. Lệnh nào sau đây dùng để tạo một socket TCP a.
socket(AF_INET,SOCK_STREAM,IPPROTO_TCP). c.
Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP) b.
socket(AF_INET,SOCK_DGRAM,IPROTO_TCP). d.
socket(AF_INET,SOCKSTREAM,IPPROTOTCP).
24. Lệnh nào sau đây dùng để tạo một socket UDP a.
socket(AF_INET,SOCK_UDP, IPPROTO_TCP). c.
Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP) b.
socket(AF_INET,SOCK_DGRAM,IPROTO_TCP). d. Không lệnh nào đúng.
25. Đ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í , , 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.
: GetLastError, : closesocket (s), : WSACleanup(). b.
: WSAGetLastError(), close(s), : Cleanup(). c.
: WSALastError(), : closesocket(s), : để trống. d.
Không phương án nào đúng.
26. Để 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”); c. inet_addr(“192.168.1.1”); b. inet_aton(“192.168.1.1”); d. inet_stoi(“192.168.1.1”);
27. 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
28. 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
29. 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 c. Tùy trường hợp b. Đầu nhỏ
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 c. Ws2ip.h b. Ws2_32.h d. Ws2tcpip.h
Đoạn chương trình sau đọc nội dung một tệp tin và gửi đi qua kết nối c đã được thành lập.
Điền vào các vị trí , …các câu lệnh/giá trị thích hợp SOCKET c; FILE * fp; char buff[1024]; int len; fp = fopen("name.txt","rb"); while () { len = fread(,1,1024,); if (len <=0) break; send(,buff,,0); }7s closesocket(c); fclose(fp);
31. Giá trị thích hợp cho là a. fp c. !fp b. feof(fp) d. !feof(fp)
32. Giá trị thích hợp cho là a. buff c. c b. fp d. &buff
33. Giá trị thích hợp cho là a. buff c. fp b. &buff d. &fp
34. Giá trị thích hợp cho là a. s c. fp b. &s d. &fp
35. Giá trị thích hợp cho là a. 1024 c. &len b. len d. 0.
Đoạn chương sau nhận về một xâu và gửi trả xâu theo thứ tự ngược lại. Điền vào các vị trí ,,,, các câu lệnh thích hợp: SOCKET s; char c, str[1024]; int i,len; while (1) { len = recv(s,str,1024,0); str[] = 0; for (i=0;i{ c = ; str[i] = str[]; str[len-i-1]=; }; send(,str,len,0); }
36. Câu lệnh thích hợp cho là a. len c. 1024 b. i d. 0
37. Câu lệnh thích hợp cho là a. str[0] c. str[len-1] b. str[len] d. str[i]
38. Câu lệnh thích hợp cho là a. len/2 c. len-i b. len-1 d. len-i-1
39. Câu lệnh thích hợp cho là a. c c. str[0] b. str[i] d. str[i-1]
40. Câu lệnh thích hợp cho là a. c c. len b. s 1.
Thư viện liên kết động của Windows Socket có tên là: b. IP a. WinSock.DLL c. ICMP b. WinSock2.DLL d. UDP c. WS2.DLL
11. Dịch vụ phân giải tên miền chạy ở tầng nào trong các d. WS2_32.DLL tầng sau đây 2.
Công cụ nào sử dụng để kiểm tra hoạt động của một máy a. Application chủ phân giải tên miền b. Transport a. Ping c. Internetwork b. Nslookup d. Datalink c. Netstat
12. Giao thức nào được sử dụng để chia sẻ một địa chỉ toàn d. Ipconfig
cục cho một nhóm các máy tính trong mạng LAN. 3.
Biên của thông điệp trong các giao thức hướng dòng có a. VLAN
được bảo toàn hay không ? b. MAC a. Có c. NAT b. Không d. Không đáp án nào đúng c.
Tùy từng trường hợp, nếu được tổ chức hợp lý.
13. Trong một mạng máy tính được chia sẻ chung một địa chỉ 4.
Công cụ dùng để theo dõi tài nguyên sử dụng của máy
IP toàn cục. Thiết lập nào sau đây sẽ cho phép một máy
tính trên hệ điều hành Windows là
tính từ Internet chủ động kết nối đến một máy chủ trong a. Task Manager mạng. b. Resource Monitor a. DMZ c. Wireshark b. Virtual Server d. Phương án a và b. c. Port Forwarding 5.
Nếu cần phát triển thêm trình điều khiển cho một loại d. Cả ba phương án trên.
thiết bị mới. Ứng dụng sẽ phải viết ở tầng nào của
14. Để có thể sử dụng dụng thư viện Windows Socket, tệp thư Windows Socket
viện cần khai báo cho quá trình liên kết là. a. Application a. Winsock.lib b. Provider b. WS2_32.LIB c. Transport Protocol c. WS2_32.DLL d. Không tầng nào đúng d. Winsock2.dll 6.
Công cụ dùng để bắt các gói tin gửi ra và vào một giao
15. Nếu cần phải thiết kế một giao thức mới, ứng dụng sẽ
diện mạng của máy tính là
phải tích hợp vào tầng nào của Windows Socket API a. Netcat a. Application b. Network Monitor b. Provider c. Cain c. Transport Protocol d.
Không phương án nào đúng. d. Không tầng nào đúng. 7.
Công cụ đa năng, vừa có thể đóng vai trò client, vừa
16. Công cụ chuẩn đoán mạng dùng để hiển thị các kết nối
server, chạy trên giao thức TCP, UDP là.
hiện có trên máy tính là a. Netcat a. Wireshark b. TCPDump b. TCPView c. Netstat c. Netcat d. Network Monitor d.
Tất cả các công cụ trên 8.
WSADATA là cấu trúc dùng để
17. Trình điều khiển cho một thiết bị mạng sẽ được chạy ở a.
Truyền thông tin về phiên bản WinSock mà ứng chế độ dụng muốn khởi tạo a. User Mode b.
Nhận thông tin về phiên bản WinSock có trên hệ b. Kernel Mode thống. c. System Mode c. Cả hai đáp án đều sai. d.
Không phương án nào đúng. 9.
Để có thể sử dụng thư viện Windows Socket, tệp tiêu đề
18. Hàm nào sau đây thực hiện công việc khởi tạo Windows cần khai báo là: Socket a. Winsock.h a. WSStartup b. Winsock2.h b. WinsockStartup c. Ws2_32.h c. SocketStartup d. Ws2.h d. WSAStartup
10. 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
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ệnh nào sau đây dùng để tạo một socket TCP
if (ret ==SOCKET_ERROR) { a.
socket(AF_INET,SOCK_STREAM,IPPROTO_TCP).
printf(“Loi ket noi: %d”, ); b.
socket(AF_INET,SOCK_DGRAM,IPROTO_TCP). ; c.
Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP) ; d.
socket(AF_INET,SOCKSTREAM,IPPROTOTCP). };
21. Cấu trúc nào được sử dụng để khai báo địa chỉ socket a.
: GetLastError, : closesocket (s), : internet: WSACleanup(). a. sock_addr b.
: WSAGetLastError(), close(s), : b. sockaddr Cleanup(). c. sockaddr_in c.
: WSALastError(), : closesocket(s), : d. sock_addr_in để trống.
22. Các giá trị lớn hơn 01 byte trong cấu trúc lưu trữ địa chỉ d.
Không phương án nào đúng.
của socket được tổ chức theo kiểu:
27. Để chuyển đổi một địa chỉ IP lưu trong biến serverAddr a. Đầu to
lưu trữ địa chỉ socket sang dạng xâu ký tự, lệnh nào sau b. Đầu nhỏ đây là đúng c. Tùy trường hợp a.
inet_ntos(serverAddr.sin_addr);
23. Để lấy mã lỗi của thao tác ngay trước đó. Hàm nào sau b. inet_ntoa(serverAddr.s_addr);
đây sẽ được sử dụng c.
inet_itos(serverAddr.sin_addr); a. GetLastError d.
inet_ntoa(serverAddr.sin_addr); b. WSAGetError
28. Lệnh nào sau đây dùng để tạo một socket UDP c. WSAGetLastError a.
socket(AF_INET,SOCK_UDP, IPPROTO_TCP). d. WSALastError b.
socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
24. Để chuyển đổi một xâu sang địa chỉ IP, lệnh nào sau đây là c.
Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP) đúng d. Không lệnh nào đúng. a. inet_ntoa(“192.168.1.1”);
29. Để chuyển đổi giá trị cổng từ đầu nhỏ sang đầu to, lệnh b. inet_aton(“192.168.1.1”);
nào sau đây sẽ được sử dụng c. inet_addr(“192.168.1.1”); a. ntohl d. inet_stoi(“192.168.1.1”); b. ntohs
25. Trong Windows Socket, với các hàm không có tiền tố c. htonl
WSA thì mã lỗi trả về là 0 có nghĩa là: d. htons a. Thành công
30. Để thực hiện phân giải tên miền bằng WinSock, cần bổ b. Thất bại sung tệp tiêu đề nào c. Tùy trường hợp a. Winsock2.h
26. Đoạn chương trình sau thực hiện kết nối đến một server, b. Ws2_32.h
điền vào vị trí , , các lệnh còn thiếu. c. Ws2ip.h ret = connect(s, d. Ws2tcpip.
(sockaddr*)&serverAddr,sizeof(serverAddr)); Phần 2. Tự luận
(4đ – viết ra giấy tự chuẩn bị)
Viết chương trình FileClient sử dụng mô hình blocking làm nhiệm vụ sau: 1.
Kết nối đến server có địa chỉ/tên miền được nhập từ bàn phím. 2.
Nhận tên file từ bàn phím và gửi yêu cầu tải file đến server, cú phảp có dạng “GET \n”. 3.
Xử lý kết quả từ server a.
Nếu server báo lỗi, thì dữ liệu gửi trả có dạng “FAILED\n\n\n”. b.
Nếu server báo thành công thì dữ liệu gửi trả có dạng “OK\n\n\n\n”. Phân tích kết quả từ
server và ghi nội dung file nhận được ra đĩa. 4.
Chương trình có thể tải nhiều file cùng một lúc, từ nhiều server. 1.
Thư viện liên kết động của Windows Socket có tên là: b. Nslookup a. WinSock.DLL c. Netstat b. WinSock2.DLL d. Ipconfig c. WS2.DLL
11. Giao thức nào được sử dụng để chia sẻ một địa chỉ toàn d. WS2_32.DLL
cục cho một nhóm các máy tính trong mạng LAN. 2.
Biên của thông điệp trong các giao thức hướng dòng có a. VLAN
được bảo toàn hay không ? b. MAC a. Có c. NAT b. Không d. Không đáp án nào đúng c.
Tùy từng trường hợp, nếu được tổ chức hợp lý.
12. Trong một mạng máy tính được chia sẻ chung một địa chỉ 3.
Nếu cần phát triển thêm trình điều khiển cho một loại
IP toàn cục. Thiết lập nào sau đây sẽ cho phép một máy
thiết bị mới. Ứng dụng sẽ phải viết ở tầng nào của
tính từ Internet chủ động kết nối đến một máy chủ trong Windows Socket mạng. a. Application a. DMZ b. Provider b. Virtual Server c. Transport Protocol c. Port Forwarding d. Không tầng nào đúng d. Cả ba phương án trên. 4.
Công cụ dùng để bắt các gói tin gửi ra và vào một giao
13. Công cụ dùng để theo dõi tài nguyên sử dụng của máy
diện mạng của máy tính là
tính trên hệ điều hành Windows là a. Netcat a. Task Manager b. Network Monitor b. Resource Monitor c. Cain c. Wireshark d.
Không phương án nào đúng. d. Phương án a và b. 5.
WSADATA là cấu trúc dùng để
14. Để có thể sử dụng dụng thư viện Windows Socket, tệp thư a.
Truyền thông tin về phiên bản WinSock mà ứng
viện cần khai báo cho quá trình liên kết là. dụng muốn khởi tạo a. Winsock.lib b.
Nhận thông tin về phiên bản WinSock có trên hệ b. WS2_32.LIB thống. c. WS2_32.DLL c. Cả hai đáp án đều sai. d. Winsock2.dll 6.
Để có thể sử dụng thư viện Windows Socket, tệp tiêu đề
15. Nếu cần phải thiết kế một giao thức mới, ứng dụng sẽ cần khai báo là:
phải tích hợp vào tầng nào của Windows Socket API a. Winsock.h a. Application b. Winsock2.h b. Provider c. Ws2_32.h c. Transport Protocol d. Ws2.h d. Không tầng nào đúng. 7.
Trình điều khiển cho một thiết bị mạng sẽ được chạy ở
16. Công cụ đa năng, vừa có thể đóng vai trò client, vừa chế độ
server, chạy trên giao thức TCP, UDP là. a. User Mode a. Netcat b. Kernel Mode b. TCPDump c. System Mode c. Netstat d.
Không phương án nào đúng. d. Network Monitor 8.
Nếu cần phải viết một ứng dụng cần tính đáp ứng nhanh
17. Công cụ chuẩn đoán mạng dùng để hiển thị các kết nối
và chấp nhận sai sót. Giao thức lựa chọn sẽ là
hiện có trên máy tính là a. TCP a. Wireshark b. IP b. TCPView c. ICMP c. Netcat d. UDP d.
Tất cả các công cụ trên 9.
Dịch vụ phân giải tên miền chạy ở tầng nào trong các
18. Hàm nào sau đây thực hiện công việc khởi tạo Windows tầng sau đây Socket a. Application a. WSStartup b. Transport b. WinsockStartup c. Internetwork c. SocketStartup d. Datalink d. WSAStartup
10. 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
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ệnh nào sau đây dùng để tạo một socket TCP b. Thất bại a.
socket(AF_INET,SOCK_STREAM,IPPROTO_TCP). c. Tùy trường hợp b.
socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
27. Để chuyển đổi một địa chỉ IP lưu trong biến serverAddr c.
Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
lưu trữ địa chỉ socket sang dạng xâu ký tự, lệnh nào sau d.
socket(AF_INET,SOCKSTREAM,IPPROTOTCP). đây là đúng
21. Để chuyển đổi giá trị cổng từ đầu nhỏ sang đầu to, lệnh a.
inet_ntos(serverAddr.sin_addr);
nào sau đây sẽ được sử dụng b. inet_ntoa(serverAddr.s_addr); a. ntohl c.
inet_itos(serverAddr.sin_addr); b. ntohs d.
inet_ntoa(serverAddr.sin_addr); c. htonl
28. Đoạn chương trình sau thực hiện kết nối đến một server, d. htons
điền vào vị trí , , các lệnh còn thiếu.
22. Cấu trúc nào được sử dụng để khai báo địa chỉ socket ret = connect(s, internet:
(sockaddr*)&serverAddr,sizeof(serverAddr)); a. sock_addr
if (ret ==SOCKET_ERROR) { b. sockaddr
printf(“Loi ket noi: %d”, ); c. sockaddr_in ; d. sock_addr_in ;
23. 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.
: GetLastError, : closesocket (s), : a. Đầu to WSACleanup(). b. Đầu nhỏ b.
: WSAGetLastError(), close(s), : c. Tùy trường hợp Cleanup().
24. Để lấy mã lỗi của thao tác ngay trước đó. Hàm nào sau c.
: WSALastError(), : closesocket(s), :
đây sẽ được sử dụng để trống. a. GetLastError d.
Không phương án nào đúng. b. WSAGetError
29. Lệnh nào sau đây dùng để tạo một socket UDP c. WSAGetLastError a.
socket(AF_INET,SOCK_UDP, IPPROTO_TCP). d. WSALastError b.
socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
25. Để chuyển đổi một xâu sang địa chỉ IP, lệnh nào sau đây là c.
Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP) đúng d. Không lệnh nào đúng. a. inet_ntoa(“192.168.1.1”);
30. Để thực hiện phân giải tên miền bằng WinSock, cần bổ b. inet_aton(“192.168.1.1”); sung tệp tiêu đề nào c. inet_addr(“192.168.1.1”); a. Winsock2.h d. inet_stoi(“192.168.1.1”); b. Ws2_32.h
26. Trong Windows Socket, với các hàm không có tiền tố c. Ws2ip.h
WSA thì mã lỗi trả về là 0 có nghĩa là: d. Ws2tcpip. a. Thành công Phần 2. Tự luận
(4đ – viết ra giấy tự chuẩn bị)
Viết chương trình FileClient sử dụng mô hình select làm nhiệm vụ sau: 1.
Kết nối đến server có địa chỉ/tên miền được nhập từ bàn phím. 2.
Nhận tên file từ bàn phím và gửi yêu cầu tải file đến server, cú phảp có dạng “GET \n”. 3.
Xử lý kết quả từ server a.
Nếu server báo lỗi, thì dữ liệu gửi trả có dạng “FAILED\n\n\n”. b.
Nếu server báo thành công thì dữ liệu gửi trả có dạng “OK\n\n\n\n”. Phân tích kết quả từ
server và ghi nội dung file nhận được ra đĩa. 4.
Chương trình có thể tải nhiều file cùng một lúc. Ngày thi: 18/10/2011
Thời gian: 15h -> 16h30 Địa điểm: TC-412
Không sử dụng tài liệu
Đề 0.Viết chương trình FileServer sử dụng mô hình blocking làm nhiệm vụ sau: a.
Đợi kết nối và xử lý lệnh từ client. Các lệnh có dạng “GET \n”. b. Thực hiện
đọc từ thư mục hiện tại tệp tin và gửi trả client theo định dạng “OK\n\n\n” c.
Nếu file không tồn tại thì gửi trả client xâu “FAILED\nFile not found\n\n”. d.
Chương trình có thể đáp ứng được nhiều yêu cầu từ nhiều client đồng thời.
Đề 1.Viết chương trình FileClient sử dụng mô hình blocking làm nhiệm vụ sau: a.
Kết nối đến server có địa chỉ/tên miền được nhập từ bàn phím. b.
Nhận tên file từ bàn phím và gửi yêu cầu tải file đến server, cú phảp có dạng “GET \n”. c.
Xử lý kết quả từ server
i. Nếu server báo lỗi, thì dữ liệu gửi trả có dạng “FAILED\n\n\n”.
ii. Nếu server báo thành công thì dữ liệu gửi trả có dạng “OK\n\n\n\n”. Phân tích
kết quả từ server và ghi nội dung file nhận được ra đĩa. d.
Chương trình có thể tải nhiều file cùng một lúc, từ nhiều server.
Đề 2.Viết chương trình FileServer sử dụng mô hình select làm nhiệm vụ sau: a.
Đợi kết nối và xử lý lệnh từ client. Các lệnh có dạng “GET \n”. b. Thực hiện
đọc từ thư mục hiện tại tệp tin và gửi trả client theo định dạng “OK\n\n\n” c.
Nếu file không tồn tại thì gửi trả client xâu “FAILED\nFile not found\n\n”. d.
Chương trình có thể đáp ứng được nhiều yêu cầu từ nhiều client đồng thời.
Đề 3.Viết chương trình FileClient sử dụng mô hình select làm nhiệm vụ sau: a.
Kết nối đến server có địa chỉ/tên miền được nhập từ bàn phím. b.
Nhận tên file từ bàn phím và gửi yêu cầu tải file đến server, cú phảp có dạng “GET \n”. c.
Xử lý kết quả từ server
i. Nếu server báo lỗi, thì dữ liệu gửi trả có dạng “FAILED\n\n\n”.
ii. Nếu server báo thành công thì dữ liệu gửi trả có dạng “OK\n\n\n\n”. Phân tích
kết quả từ server và ghi nội dung file nhận được ra đĩa. d.
Chương trình có thể tải nhiều file cùng một lúc, từ nhiều server.
Đề 4.Viết chương trình FileServer sử dụng mô hình WSAEventSelect làm nhiệm vụ sau: e.
Đợi kết nối và xử lý lệnh từ client. Các lệnh có dạng “GET \n”. f. Thực hiện
đọc từ thư mục hiện tại tệp tin và gửi trả client theo định dạng “OK\n\n\n” g.
Nếu file không tồn tại thì gửi trả client xâu “FAILED\nFile not found\n\n”. h.
Chương trình có thể đáp ứng được nhiều yêu cầu từ nhiều client đồng thời.
Đề 5.Viết chương trình FileClient sử dụng mô hình WSAEventSelect làm nhiệm vụ sau: e.
Kết nối đến server có địa chỉ/tên miền được nhập từ bàn phím. f.
Nhận tên file từ bàn phím và gửi yêu cầu tải file đến server, cú phảp có dạng “GET \n”. g.
Xử lý kết quả từ server
iii. Nếu server báo lỗi, thì dữ liệu gửi trả có dạng “FAILED\n\n\n”.
iv. Nếu server báo thành công thì dữ liệu gửi trả có dạng “OK\n\n\n\n”. Phân tích
kết quả từ server và ghi nội dung file nhận được ra đĩa. h.
Chương trình có thể tải nhiều file cùng một lúc, từ nhiều server.
Lưu ý: Đề thi của sinh viên = phần dư (số thứ tự / 6). Ví dụ: STT 15 => Làm đề 3