Ngân hàng câu hỏi thi Lậ p Trình Mạ ng 10 11 12 13 14 15 16 17 18 19 20 21 .C om ne Zo en Vi nh Thư việ n liên kết độ ng Windows Socket có tên là: a WinSock.DLL c WS2.DLL b WinSock2.DLL d WS2_32.DLL Để 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 Để 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 Winsock.lib c WS2_32.DLL b WS2_32.LIB d Winsock2.dll Cơng cụ chuẩ n đốn mạ ng dùng để hiể n thị kế t nối hiệ n có máy tính a Wireshark c Netcat b TCPView d Tấ t công cụ Công cụ dùng để theo dõi tài nguyên sử dụ ng củ a máy tính hệ điều hành Windows a Task Manager c Wireshark b Resource Monitor d Phương án a b Công cụ dùng để bắ t gói tin gửi vào giao diệ n mạ ng củ a máy tính a Netcat c Cain b Network Monitor d 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 Netcat c Netstat b TCPDump d Network Monitor Nế u cầ n phải viết mộ 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 TCP c ICMP b IP d UDP Dị ch vụ phân giải tên miề n chạy tầ ng tầ ng sau a Application c Internetwork b Transport d Datalink Giao thức sử dụ ng để chia sẻ đị a tồn cục cho mộ t nhóm máy tính mạ ng LAN a VLAN c NAT b MAC d Không đáp án Trong mạ ng máy tính chia sẻ chung mộ t đị a IP toàn cục Thiế t lậ p sau cho phép mộ t máy tính từ Internet chủ động kế t nố i đế n máy chủ mạ ng a DMZ c Port Forwarding b Virtual Server d Cả ba phương án Công cụ 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 Nế u cầ n phát triể n thêm trình điều khiể n cho mộ t loại thiết bị Ứng dụ ng phả i viết tầ ng củ a Windows Socket a Application c Transport Protocol b Provider d 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 c Transport Protocol b Provider d Khơng tầ ng Trình điề u khiể n cho thiết bị mạ ng chạ y chế độ a User Mode c System Mode b Kernel Mode d Không phương án Biên thơng điệ p giao thức hướng dòng có bảo tồn hay khơng ? a Có c Tùy trường hợp, nế u tổ chức hợp lý b Không Hàm sau thực hiệ n công việ c khởi tạ o Windows Socket a WSStartup c SocketStartup b WinsockStartup d WSAStartup WSADATA cấ u trúc dùng để a Truyề n thông tin phiên bả n WinSock mà ứng dụ ng b Nhậ n thơng tin phiên bả n WinSock có hệ muố n khởi tạ o thống c Cả hai đáp án đề u sai Hàm sau sử dụ ng để giải phóng Windows Socket API a WSACleanup c Cleanup b WSCleanup d Phương án khác:… Để lấy mã lỗi củ a thao tác trước Hàm sau sử dụ ng a GetLastError c WSAGetLastError b WSAGetError d WSALastError Đoạ n chương trình sau thực hiệ n kế t nố i đế n server, điề n vào vị trí , , các lệ nh thiếu ret = connect(s, (sockaddr*)&serverAddr,sizeof(serverAddr)); if (ret ==SOCKET_ERROR) { printf(“Loi ket noi: %d”,); ; ; }; a : GetLastError, : closesocket (s), : c : WSALastError(), : closesocket(s), : để WSACleanup() trố ng b : WSAGetLastError(), close(s), : Cleanup() d Không phương án Si SinhVienZone.com https://fb.com/sinhvienzonevn Si nh Vi en Zo ne C om 22 Trong Windows Socket, với hàm khơng có tiề n tố WSA mã lỗi trả có nghĩa là: a Thành cơng c Tùy trường hợp b Thấ t bại 23 Lệ nh sau dùng để tạ o 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 sau dùng để tạ o 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 25 Cấ u trúc sử dụ ng để khai báo đị a socket internet: a sock_addr c sockaddr_in b sockaddr d sock_addr_in 26 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 c Tùy trường hợp b Đầ u nhỏ 27 Để chuyể n đổ i xâu sang đị a IP, lệ nh sau 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”); 28 Để chuyể n đổ i đị a IP lưu biế n serverAddr lưu trữ đị a socket sang ng xâu ký tự, lệnh sau a inet_ntos(serverAddr.sin_addr); c inet_itos(serverAddr.sin_addr); b inet_ntoa(serverAddr.s_addr); d inet_ntoa(serverAddr.sin_addr); 29 Để chuyể n đổ i giá trị cổ ng từ đầ u nhỏ sang đầ u to, lệ nh sau sử dụ ng a ntohl c htonl b ntohs 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 đề a Winsock2.h c Ws2ip.h b Ws2_32.h d Ws2tcpip.h 31 Để thực hiệ n phân giải tên miề n bằ ng WinSock, hàm sau sử dụ ng a getaddrinfo c getpeerinfo b gethostinfo d Cả ba hàm 32 Kế t trả củ a thao tác phân giả i tên miề n phả i giải phóng bằ ng hàm/tốn tử a : Mả ng, delete c : Danh sách liên kết kép, freeaddrinfo b : Danh sách liên kết đơn, free d : Danh sách liên kế t đơn, freeaddrinfo 33 Trường sau cấ u trúc addrinfo chứa thông tin đị a socket phân giải a ai_addr c addr b sock_addr d in_addr 34 Trong trường hợp sau hàm bind thấ t bại a Tường lửa chặ n c Socket khơng hợp lệ b Đã có ứng dụ ng khác mở sử dụ ng cổ ng d Cả ba trường hợp 35 Lệ nh sau gắ n mộ t socket s vào giao diệ n mạ ng bấ t kỳ mô tả cấ u trúc đị a serverAddr a bind(s,(sockaddr_in*)&serverAddr, c bind(s,(sockaddr*)&serverAddr,sizeof(sockaddr_i sizeof(serverAddr)); n)); b bind(s,(sockaddr*)serverAddr,sizeof(serverAddr)); d Không lệ nh 36 Lệ nh sau gán giá trị cổng 8080 cho cấ u trúc đị a serverAddr a serverAddr.sin_port = 8080 c serverAddr.sin_port = htonl(8080) b serverAddr.s_port = 8080 d Lệ nh khác… 37 Đ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 SOCKET server,client; sockaddr_in clientAddr; int len; len = ; client = accept(server,, ); a = 0, = clientAddr, = len d = sizeof(clientAddr), = b = sizeof(client), = &clientAddr, =len (sockaddr*)&clientAddr,&len c = 0, = (sockaddr*)&clientAddr, = &len 38 Đoạ n chương trình sau thực hiệ n đọ c liệ u từ bàn phím gửi qua socket s Điề n vào chỗ trố ng lệ nh thiế u char str[1024]; int ret = 0; gets(str); = send(s,str,,0); if (hThread = CreateThread(0,0,ReceiverThread,,0,0); }; Giá trị thích hợp cho a ret b c c Để trố ng d pHead 80 Giá trị thích hợp cho a sizeof(cAddr) b cAddrLen c &cAddrLen d &ret 81 Giá trị thích hợp cho a new Connection b new SOCKET c SinhVienZone.com https://fb.com/sinhvienzonevn Si nh Vi en Zo ne C om d Phương án khác… 82 Giá trị thích hơp cho a pTmp b pCur c pHead d pHead->pNext 83 Giá trị thích hợp cho a pHead b pCur c pTmp d pCur->pNext 84 Giá trị thích hợp cho a c b listen c d Phương án khác… 85 Giá trị thích hợp cho a pHead b pCur c pTmp d 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 kế t hình, điề n vào chỗ trố ng 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,,0,); if (ret) { printf("Khong tim thay server"); return 0; }; pCur = info; while (pCur) { memcpy(&addr,,pCur->ai_addrlen); printf("%s\n",); pCur = pCur->ai_next; }; Giá trị thích hợp cho a “8888” b 8888 c htons(8888) d ntohs(8888); 87 Giá trị thích hợp cho a info b &info c d &addr 88 Giá trị thích hợp cho a info->ai_addr b pCur c info d pCur->ai_addr 89 Giá trị thích hợp cho 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 HTTP server để phân tách URL mà client yêu cầ u Server dừng việ c nhậ n liệ u cho đế n gặ p cặ p ký tự “\r\n\r\n” Điề n vào chỗ trố ng 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,,1,MSG_WAITALL); if (ret c < d