Ngân hàng câu hỏi thi TRẮC NGHIỆM lập trình mạng

20 915 2
Ngân hàng câu hỏi thi TRẮC NGHIỆM lập trình mạng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Ngân hàng câu hỏi thi Lập Trình Mạng Thư viện liên kết động Windows Socket có tên là: a b c d WS2.DLL WS2_32.DLL Để sử dụng thư viện Windows Socket, tệp tiêu đề cần khai báo là: a b WinSock.DLL WinSock2.DLL Winsock.h Winsock2.h c d Ws2_32.h Ws2.h Để sử dụng dụng thư viện Windows Socket, tệp thư viện cần khai báo cho trình liên kết a b c d WS2_32.DLL Winsock2.dll Công cụ chuẩn đoán mạng dùng để hiển thị kết nối có máy tính a b Winsock.lib WS2_32.LIB Wireshark TCPView c d Netcat Tất công cụ Công cụ dùng để theo dõi tài nguyên sử dụng máy tính hệ điều hành Windows a b Task Manager Resource Monitor c d Wireshark Phương án a b Công cụ dùng để bắt gói tin gửi vào giao diện mạng máy tính a b Netcat Network Monitor c d Cain Không phương án Công cụ đa năng, vừa đóng vai trò client, vừa server, chạy giao thức TCP, UDP a b Netcat TCPDump c d Netstat Network Monitor Nếu cần phải viết ứng dụng cần tính đáp ứng nhanh chấp nhận sai sót Giao thức lựa chọn a b c d ICMP UDP Dịch vụ phân giải tên miền chạy tầng tầng sau a b 10 TCP IP Application Transport c d Internetwork Datalink Giao thức sử dụng để chia sẻ địa toàn cục cho nhóm máy tính mạng LAN a b 11 VLAN MAC c d NAT Không đáp án Trong mạng máy tính chia sẻ chung địa IP toàn cục Thiết lập sau cho phép máy tính từ Internet chủ động kết nối đến máy chủ mạng a b 12 DMZ Virtual Server c d Port Forwarding Cả ba phương án Công cụ sử dụng để kiểm tra hoạt động máy chủ phân giải tên miền a b 13 Ping Nslookup c d Netstat Ipconfig Nếu cần phát triển thêm trình điều khiển cho loại thiết bị Ứng dụng phải viết tầng Windows Socket a b 14 Application Provider c d Transport Protocol Không tầng Nếu cần phải thiết kế giao thức mới, ứng dụng phải tích hợp vào tầng Windows Socket API a Application b Provider c 15 d Không tầng Trình điều khiển cho thiết bị mạng chạy chế độ a b 16 Transport Protocol User Mode Kernel Mode c d System Mode Không phương án Biên thông điệp giao thức hướng dòng có bảo toàn hay không ? a b 17 c tổ chức hợp lý WSStartup WinsockStartup c d SocketStartup WSAStartup b Nhận thông tin phiên c WinSock có hệ thống Cả hai đáp án sai WSADATA cấu trúc dùng để a Truyền thông tin phiên WinSock mà ứng dụng muốn khởi tạo 19 Hàm sau sử dụng để giải phóng Windows Socket API a b 20 WSACleanup WSCleanup c d Cleanup Phương án khác:… Để lấy mã lỗi thao tác trước Hàm sau sử dụng a b 21 Tùy trường hợp, Hàm sau thực công việc khởi tạo Windows Socket a b 18 Có Không GetLastError WSAGetError c d WSAGetLastError WSALastError Đoạn chương trình sau thực kết nối đến server, điền vào vị trí , , lệnh thiếu 22 ret = connect(s, (sockaddr*)&serverAddr,sizeof(serverAddr)); 23 if (ret ==SOCKET_ERROR) { 24 printf(“Loi ket noi: %d”, ); 25 ; 26 ; 27 }; a b : GetLastError, : c : WSALastError(), closesocket (s), : : closesocket(s), : WSACleanup() : WSAGetLastError(), để trống Không phương án d close(s), : Cleanup() 28 Trong Windows Socket, với hàm tiền tố WSA mã lỗi trả có nghĩa là: a b 29 Thành công Thất bại c Tùy trường hợp c Socket(AF_INET,SOCK_S d TREAM,IPPROTO_UDP) socket(AF_INET,SOCKST Lệnh sau dùng để tạo socket TCP a socket(AF_INET,SOCK_ST b REAM,IPPROTO_TCP) socket(AF_INET,SOCK_D GRAM,IPROTO_TCP) 30 REAM,IPPROTOTCP) Lệnh sau dùng để tạo socket UDP a socket(AF_INET,SOCK_U b DP, IPPROTO_TCP) socket(AF_INET,SOCK_D c Socket(AF_INET,SOCK_S d TREAM,IPPROTO_UDP) Không lệnh GRAM,IPROTO_TCP) 31 Cấu trúc sử dụng để khai báo địa socket internet: a b 32 sock_addr sockaddr c d sockaddr_in sock_addr_in Các giá trị lớn 01 byte cấu trúc lưu trữ địa socket tổ chức theo kiểu: a Đầu to b Đầu nhỏ c 33 Để chuyển đổi xâu sang địa IP, lệnh sau a b 34 Tùy trường hợp inet_ntoa(“192.168.1.1”); inet_aton(“192.168.1.1”); c d inet_addr(“192.168.1.1”); inet_stoi(“192.168.1.1”); Để chuyển đổi địa IP lưu biến serverAddr lưu trữ địa socket sang dạng xâu ký tự, lệnh sau a inet_ntos(serverAddr.sin_ad b dr); inet_ntoa(serverAddr.s_addr c inet_itos(serverAddr.sin_ad d dr); inet_ntoa(serverAddr.sin_ad ); 35 dr); Để chuyển đổi giá trị cổng từ đầu nhỏ sang đầu to, lệnh sau sử dụng a b 36 c d htonl htons Để thực phân giải tên miền WinSock, cần bổ sung tệp tiêu đề a b 37 ntohl ntohs Winsock2.h Ws2_32.h c d Ws2ip.h Ws2tcpip.h Để thực phân giải tên miền WinSock, hàm sau sử dụng a b 38 getaddrinfo gethostinfo c d getpeerinfo Cả ba hàm Kết trả thao tác phân giải tên miền phải giải phóng hàm/toán tử a b : Mảng, delete : Danh sách liên kết c : Danh sách liên kết đơn, free d kép, freeaddrinfo : Danh sách liên kết đơn, freeaddrinfo 39 Trường sau cấu trúc addrinfo chứa thông tin địa socket phân giải a b 40 ai_addr sock_addr c d addr in_addr Trong trường hợp sau hàm bind thất bại a b Tường lửa chặn Đã có ứng dụng khác mở sử c d Socket không hợp lệ Cả ba trường hợp dụng cổng 41 Lệnh sau gắn socket s vào giao diện mạng mô tả cấu trúc địa serverAddr a b bind(s, c bind(s, (sockaddr_in*)&serverAddr (sockaddr*)&serverAddr,siz , sizeof(serverAddr)); bind(s, eof(sockaddr_in)); Không lệnh d (sockaddr*)serverAddr,size of(serverAddr)); 42 Lệnh sau gán giá trị cổng 8080 cho cấu trúc địa serverAddr a b 43 serverAddr.sin_port = 8080 serverAddr.s_port = 8080 c serverAddr.sin_port = d htonl(8080) Lệnh khác… Đoạn chương trình sau thực chấp nhận kết nối từ client Điền vào chỗ trống phương án cần thiết 44 SOCKET server,client; 45 sockaddr_in clientAddr; 46 int len; 47 len = ; 48 client = accept(server,, ); a = 0, = clientAddr, = len b = sizeof(client), = &clientAddr, =len c 49 = 0, = d = sizeof(clientAddr), (sockaddr*)&clientAddr, = = &len (sockaddr*)&clientAddr,&len Đoạn chương trình sau thực đọc liệu từ bàn phím gửi qua socket s Điền vào chỗ trống lệnh thiếu 50 char str[1024]; 51 int ret = 0; 52 gets(str); 53 = send(s,str,,0); 54 if ( hThread = 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 CreateThread(0,0,ReceiverThread,,0,0); 191 192 193 a b c d 194 a b c d 195 a b c d 196 a b c }; Giá trị thích hợp cho ret c Để trống pHead Giá trị thích hợp cho sizeof(cAddr) cAddrLen &cAddrLen &ret Giá trị thích hợp cho new Connection new SOCKET Phương án khác… Giá trị thích hơp cho pTmp pCur pHead d 197 a b c d 198 a b c d 199 a b c d 200 pHead->pNext Giá trị thích hợp cho pHead pCur pTmp pCur->pNext Giá trị thích hợp cho c listen Phương án khác… Giá trị thích hợp cho pHead pCur pTmp Đoạn chương trình sau thực phân giải tên miền nhập từ bàn phím với cổng 8888 sau kết hình, điền vào chỗ trống lệnh thích hợp 201 addrinfo * info,*pCur; 202 char host[1024]; 203 SOCKADDR_IN addr; 204 int ret; 205 printf("Nhap dia chi server:"); 206 gets(host); 207 ret = getaddrinfo(host,,0,); 208 if (ret) 209 { 210 printf("Khong tim thay server"); 211 return 0; 212 }; 213 pCur = info; 214 while (pCur) 215 { 216 memcpy(&addr,,pCur->ai_addrlen); 217 printf("%s\n",); 218 pCur = pCur->ai_next; 219 }; 220 Giá trị thích hợp cho a “8888” b 8888 c htons(8888) d ntohs(8888); 221 Giá trị thích hợp cho a b c d 222 a b c d 223 a b c d 224 info &info &addr Giá trị thích hợp cho info->ai_addr pCur info pCur->ai_addr Giá trị thích hợp cho inet_addr(addr.sin_addr) inet_ntoa(pCur) inet_ntoa(pCur->sin_addr) Phương án khác… Đoạn chương trình sau minh họa việc xử lý lệnh HTTP server để phân tách URL mà client yêu cầu Server dừng việc nhận liệu gặp cặp ký tự “\r\n\r\n” Điền vào chỗ trống lệnh thích hợp 225 SOCKET s; 226 char command[1024]; 227 char url[1024]; 228 int len = 0, ret; 229 char *pos; 230 while (1) 231 { 232 ret = recv(s, , , MSG_WAITALL); 233 if (ret < [...]... 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 79 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... 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 86 Đoạn chương trình sau sử dụng trong chương trình chat Voice xử lý việc nhận 85 dữ liệu từ server, hãy điền vào chỗ trống những lệnh cần thi t 87 88 89 90 91 92 93 enum PACKET_TYPE { PACKET_TYPE_TEXT, PACKET_TYPE_VOICE, PACKET_TYPE_IMAGE }; struct Packet { char type; int len;... 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 80 Hàm nào sau đây có thể đưa luồng về trạng thái alertable 78 a b 81 c d Sleep Cả a và c d Không có quan hệ gì với CSocket là lớp a b c 82 SleepEx... sizeof(p) a b c d 124 a b c d 125 a b c d 126 p.len p.len – total total 65536 Giá trị thích hợp cho là len pk.len sizeof(Packet) 4 Giá trị thích hợp cho là 0xFF 0 1 Phương án khác… Đ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 127 struct Packet 128 { 129 int offset; 130 int len; 131 unsigned short checksum;... – total p.len + total p.len Giá trị thích hợp cho là &from sizeof(from) (sockaddr*)from (sockaddr*)&from Giá trị thích hợp cho là ^ | & ~ Giá trị thích hợp cho là i*2 i*3 i*4 i Đ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 160 struct Connection 161 { 162 SOCKADDR_IN addr; 163 SOCKET s; 164 HANDLE hThread;... 199 a b c d 200 pHead->pNext Giá trị thích hợp cho là pHead pCur pTmp pCur->pNext Giá trị thích hợp cho là c listen 0 Phương án khác… Giá trị thích hợp cho là pHead pCur pTmp 0 Đ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 201 addrinfo * info,*pCur; 202 char host[1024]; 203 SOCKADDR_IN... &info 0 &addr Giá trị thích hợp cho là info->ai_addr pCur info pCur->ai_addr Giá trị thích hợp cho là inet_addr(addr.sin_addr) inet_ntoa(pCur) inet_ntoa(pCur->sin_addr) Phương án khác… Đ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 225 SOCKET ... nhóm máy tính mạng LAN a b 11 VLAN MAC c d NAT Không đáp án Trong mạng máy tính chia sẻ chung địa IP toàn cục Thi t lập sau cho phép máy tính từ Internet chủ động kết nối đến máy chủ mạng a b 12... Nếu cần phát triển thêm trình điều khiển cho loại thi t bị Ứng dụng phải viết tầng Windows Socket a b 14 Application Provider c d Transport Protocol Không tầng Nếu cần phải thi t kế giao thức mới,... tích hợp vào tầng Windows Socket API a Application b Provider c 15 d Không tầng Trình điều khiển cho thi t bị mạng chạy chế độ a b 16 Transport Protocol User Mode Kernel Mode c d System Mode

Ngày đăng: 11/11/2015, 19:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan