Вы находитесь на странице: 1из 7

Ngn hng cu hi thi Lp Trnh Mng 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Th vin lin kt ng ca Windows Socket c tn l: a. WinSock.DLL c. WS2.DLL b. WinSock2.DLL d. WS2_32.

DLL c th s dng th vin Windows Socket, tp tiu cn khai bo l: a. Winsock.h c. Ws2_32.h b. Winsock2.h d. Ws2.h c th s dng dng th vin Windows Socket, tp th vin cn khai bo cho qu trnh lin kt l. a. Winsock.lib c. WS2_32.DLL b. WS2_32.LIB d. Winsock2.dll Cng c chun on mng dng hin th cc kt ni hin c trn my tnh l a. Wireshark c. Netcat b. TCPView d. Tt c cc cng c trn Cng c dng theo di ti nguyn s dng ca my tnh trn h iu hnh Windows l a. Task Manager c. Wireshark b. Resource Monitor d. Phng n a v b. Cng c dng bt cc gi tin gi ra v vo mt giao din mng ca my tnh l a. Netcat c. Cain b. Network Monitor d. Khng phng n no ng. Cng c a nng, va c th ng vai tr client, va server, chy trn giao thc TCP, UDP l. a. Netcat c. Netstat b. TCPDump d. Network Monitor Nu cn phi vit mt ng dng cn tnh p ng nhanh v chp nhn sai st. Giao thc la chn s l a. TCP c. ICMP b. IP d. UDP Dch v phn gii tn min chy tng no trong cc tng sau y a. Application c. Internetwork b. Transport d. Datalink Giao thc no c s dng chia s mt a ch ton cc cho mt nhm cc my tnh trong mng LAN. a. VLAN c. NAT b. MAC d. Khng p n no ng Trong mt mng my tnh c chia s chung mt a ch IP ton cc. Thit lp no sau y s cho php mt my tnh t Internet ch ng kt ni n mt my ch trong mng. a. DMZ c. Port Forwarding b. Virtual Server d. C ba phng n trn. Cng c no s dng kim tra hot ng ca mt my ch phn gii tn min a. Ping c. Netstat b. Nslookup d. Ipconfig Nu cn pht trin thm trnh iu khin cho mt loi thit b mi. ng dng s phi vit tng no ca Windows Socket a. Application c. Transport Protocol b. Provider d. Khng tng no ng Nu cn phi thit k mt giao thc mi, ng dng s phi tch hp vo tng no ca Windows Socket API a. Application c. Transport Protocol b. Provider d. Khng tng no ng. Trnh iu khin cho mt thit b mng chy ch a. User Mode c. System Mode b. Kernel Mode d. Khng phng n no ng. Bin ca thng ip trong cc giao thc hng dng c c bo ton hay khng ? a. C c. Ty tng trng hp, nu c t chc hp l. b. Khng Hm no sau y thc hin cng vic khi to Windows Socket a. WSStartup c. SocketStartup b. WinsockStartup d. WSAStartup WSADATA l cu trc dng a. Truyn thng tin v phin bn WinSock m ng dng b. Nhn thng tin v phin bn WinSock c trn h thng. mun khi to c. C hai p n u sai. Hm no sau y s dng gii phng Windows Socket API. a. WSACleanup c. Cleanup b. WSCleanup d. Phng n khc: ly m li ca thao tc ngay trc . Hm no sau y s c s dng a. GetLastError c. WSAGetLastError b. WSAGetError d. WSALastError on chng trnh sau thc hin kt ni n mt server, in vo v tr <A>, <B>, <C> cc lnh cn thiu. 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>: c. <A>: WSALastError(), <B>: closesocket(s), <C>: WSACleanup(). trng. b. <A>: WSAGetLastError(), <B> close(s), <C>: Cleanup(). d. Khng phng n no ng. Trong Windows Socket, vi cc hm khng c tin t WSA th m li tr v l 0 c ngha l:

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.

a. Thnh cng c. Ty trng hp b. Tht bi Lnh no sau y dng to mt 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). Lnh no sau y dng to mt 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. Khng lnh no ng. Cu trc no c s dng khai bo a ch socket internet: a. sock_addr c. sockaddr_in b. sockaddr d. sock_addr_in Cc gi tr ln hn 01 byte trong cu trc lu tr a ch ca socket c t chc theo kiu: a. u to c. Ty trng hp b. u nh chuyn i mt xu sang a ch IP, lnh no 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); chuyn i mt a ch IP lu trong bin serverAddr lu tr a ch socket sang dng xu k t, lnh no 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); chuyn i gi tr cng t u nh sang u to, lnh no sau y s c s dng a. ntohl c. htonl b. ntohs d. htons thc hin phn gii tn min bng WinSock, cn b sung tp tiu no a. Winsock2.h c. Ws2ip.h b. Ws2_32.h d. Ws2tcpip.h thc hin phn gii tn min bng WinSock, hm no sau y c th s dng a. getaddrinfo c. getpeerinfo b. gethostinfo d. C ba hm trn Kt qu tr v ca thao tc phn gii tn min l <A> v phi gii phng bng hm/ton t <B> a. <A>: Mng, <B> delete c. <A>: Danh sch lin kt kp, <B> freeaddrinfo b. <A>: Danh sch lin kt n, <B> free d. <A>: Danh sch lin kt n, <B> freeaddrinfo Trng no sau y trong cu trc addrinfo cha thng tin v a ch socket phn gii c. a. ai_addr. c. addr. b. sock_addr. d. in_addr. Trong trng hp no sau y hm bind s tht bi a. Tng la chn. c. Socket khng hp l. b. c ng dng khc m s dng cng trn. d. C ba trng hp trn. Lnh no sau y s gn mt socket s vo giao din mng bt k c m t trong cu trc a ch serverAddr. a. bind(s,(sockaddr_in*)&serverAddr, c. bind(s,(sockaddr*)&serverAddr,sizeof(sockaddr_in)); sizeof(serverAddr)); d. Khng lnh no ng. b. bind(s,(sockaddr*)serverAddr,sizeof(serverAddr)); Lnh no sau y s gn gi tr cng 8080 cho cu trc a ch serverAddr. a. serverAddr.sin_port = 8080. c. serverAddr.sin_port = htonl(8080). b. serverAddr.s_port = 8080. d. Lnh khc on chng trnh sau s thc hin chp nhn kt ni t client. in vo ch trng cc phng n cn thit SOCKET server,client; sockaddr_in clientAddr; int len; len = <A>; client = accept(server,<B>, <C>); a. <A> = 0, <B> = clientAddr, <C> = len. d. <A> = sizeof(clientAddr), <B> = b. <A> = sizeof(client), <B> = &clientAddr, <C> =len. (sockaddr*)&clientAddr,&len. c. <A> = 0, <B> = (sockaddr*)&clientAddr, <C> = &len. on chng trnh sau thc hin c d liu t bn phm v gi i qua socket s. in vo ch trng nhng lnh cn thiu. 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> = trng. c. <A> = str, <B> = strlen(str), <C> = close(s). b. <A> = ret, <B> = sizeof(str), <C> = close(s). d. <A> = ret, <B> = strlen(str), <C> = closesocket(s). Trong li gi hm recv(s,buff,1024,0), gi tr 1024 c ngha l: a. S byte mun nhn c. Kch thc b m. b. S byte ti a mun nhn. d. C b v c u ng. Khi socket hot ng ch ng b, mi li gi hm s: a. Chn tt c cc lung ca chng trnh cho n khi c. Ch chn lung cha li gi, cc lung khc vn chy thao tc vo ra hon tt bnh thng. b. Chn tt c cc lung tr lung cha li gi d. Khng chn lung no c. Khi socket hot ng ch bt ng b, mi li gi hm s a. Chn tt c cc lung ca chng trnh cho n khi c. Ch chn lung cha li gi, cc lung khc vn chy thao tc vo ra hon tt bnh thng. b. Chn tt c cc lung tr lung cha li gi d. Khng chn lung no c. Mc nh socket khi c to ra hot ng ch <A>, hm <B> s thay i ch hot ng ca socket. a. <A>: ng b, <B>: ioctlsocket. c. <A>: ng b, <B>: WSAAsyncSelect. b. <A>: bt ng b, <B>:ioctlsocket. d. C a v c u ng

43. Khi socket s hot ng ch ng b, hm recv(s,buff,1024,0) s khng chn lung cha li gi trong trng hp no sau y. a. C d liu t b m h thng nhng khng 1024 c. Kt ni b ng. byte. d. C ba phng n trn u ng. b. C 1024 byte d liu t b m h thng. 44. Nu cn xy dng server p ng c ti thiu 10 kt ni, chng trnh s cn khai bo bao nhiu socket ? a. 11 c. 20 b. 10 d. 21 45. Nu vic gi d liu cho cc kt ni c tp trung vo trong mt lung, th m hnh Blocking cn ti thiu bao nhiu lung p ng c 100 kt ni. a. 100 c. 201 b. 200 d. 101 46. Trong m hnh Select, thm d s kin kt ni n server thnh cng, client cn cho socket vo tp no a. readfds c. exceptfds b. writefds d. C ba tp u c. 47. Nu dng m hnh Select v thm d s kin cho 100 kt ni, ng dng s cn bao nhiu lung ? a. 100 c. 101 b. 2 d. 1. 48. Trong m hnh Select, socket chy ch no ? a. ng b c. Khng xc nh b. Bt ng b 49. Hm callback WindowProc c gi trong ng cnh ca: a. Mt lung ring c h thng to ra. c. Lung ph do chng trnh to ra. b. Lung chnh x l giao din. d. Phng n khc 50. Trong cc hm x l s kin ca chng trnh c giao din ha, c nn gi cc hm ng b ca WinSock ? a. Khng, v s lm vic gi nhn d liu ca socket b c. C, v khng nh hng g n chng trnh. chm i. d. Khng, v s lm gim kh nng p ng ca chng b. Khng, v s lm h iu hnh b treo. trnh vi cc s kin ngi dng. 51. Trong m hnh WSAEventSelect, gi s ng dng c 10 SOCKET, cn my i tng WSAEVENT tng ng? a. 10 c. 11 b. 20 d. S khc 52. i tng WSAEVENT c to ra bi WSACreateEvent c thuc tnh: a. Signaled, auto reset c. Signaled, manual reset b. Non-signaled, auto reset d. Non-signaled , manual reset 53. Hm WSAWaitForMultipleEvent s chn lung c li gi n khi a. Cc i tng EVENT chuyn sang trng thi bo hiu c. Cc i tng EVENT chuyn sang trng thi cha bo b. Ht gi hiu d. C a v b 54. Gi s s l socket dng kt ni n server khc, lnh no sau y thch hp nht. a. WSAEventSelect(s, event, FD_ACCEPT | FD_CLOSE); c. WSAEventSelect(s, event, FD_ACCEPT| FD_CONNECT); b. WSAEventSelect(s, event, FD_CONNECT| d. WSAEventSelect(s, event, FD_CONNECT| FD_CLOSE); FD_WRITE|FD_READ|FD_CLOSE); 55. Nhng hm no sau y c th s dng m hnh vo ra Overlapped a. WSAConnect c. WSARecv b. accept d. a v c 56. C th s dng cng mt i tng EVENT cho hai socket khc nhau trong m hnh Overlapped c khng a. C b. Khng 57. Trong m hnh vo ra Overlapped, completion routine s c gi bi: a. Chng trnh trong cng lung c yu cu vo ra. b. Chng trnh trong mt lung khc vi lung c yu cu vo ra. c. H iu hnh trong lung khc vi lung c yu cu vo ra. d. H iu hnh trong lung cng vi lung c yu cu vo ra. 58. Alertable l trng thi: a. ang ng v sn sng thc hin hm callback t h iu hnh b. ang thc thi v sn sng thc hin hm callback t h iu hnh c. ang ng v cha sn sng thc hin hm callback t h iu hnh d. ang thc thi v cha sn sng thc hin hm callback t h iu hnh 59. Hm no sau y c th a lung v trng thi alertable a. SleepEx c. Sleep b. WSAConnect d. C a v c 60. CSocket l lp a. C s ca CAsyncSocket c. K tha ca CAsyncSocket b. Dn xut ca CAsyncSocket d. Khng c quan h g vi CAsyncSocket 61. Cc phng thc ca CSocket u hot ng a. ng b b. Bt ng b 62. Cc phng thc ca CAsyncSocket u hot ng a. ng b b. Bt ng b 63. Lung A to i tng m c kiu CSocket. Trong lung B, lnh no sau y l hp l a. m.Connect(127.0.0.1,8888); c. m.ShutDown(); b. m.Close(); d. C ba u khng hp l. 64. x l s kin cho CAsyncSocket cn phi a. Gn i tng vo mt bin c kiu WSAEVENT. b. Gn i tng vo mt ca s qua hm WSAAsyncSelect. c. Truyn i s l mt hm callback cho cc thao tc vo ra. d. K tha ra mt lp mi v vit cc phng thc chng. 65. on chng trnh sau s dng trong chng trnh chat Voice x l vic nhn d liu t server, hy in vo ch trng nhng lnh cn thit. enum PACKET_TYPE { PACKET_TYPE_TEXT, PACKET_TYPE_VOICE, PACKET_TYPE_IMAGE };

struct {

Packet char int char type; len; data[65536];

66.

67.

68.

69.

70.

71.

72.

}; 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 thch hp cho <A> l a. 1 b. 2 c. 4 d. sizeof(p) Gi tr thch hp cho <B> l a. 1 b. 2 c. 4 d. sizeof(Packet) Gi tr thch hp cho <C> l a. PACKET_TYPE_VOICE b. PACKET_TYPE_IMAGE c. PACKET_TYPE_TEXT d. Gi tr khc Gi tr thch hp cho <D> l a. &p b. p.data c. p.data+p.len d. Phng n khc Gi tr thch hp cho <E> l a. p.len b. p.len total c. total d. 65536 Gi tr thch hp cho <F> l a. len b. pk.len c. sizeof(Packet) d. 4 Gi tr thch hp cho <G> l a. 0xFF b. 0 c. 1 d. Phng n khc on chng trnh sau y thc hin nhn d liu t mt socket UDP v kim tra li checksum, in vo ch trng nhng lnh thch hp 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!");

73.

74.

75.

76.

77.

78.

79.

Gi tr thch hp cho <A> l a. 1024 b. sizeof(p) c. sizeof(from) d. Phng n khc Gi tr thch hp cho <B> l a. true b. 1 c. total >= p.len d. total < p.len Gi tr thch hp cho <C> l a. p.data + len b. p.data c. p.data + (p.len total) d. C ba u sai Gi tr thch hp cho <D> l a. 1024 b. p.len total c. p.len + total d. p.len Gi tr thch hp cho <E> l a. &from b. sizeof(from) c. (sockaddr*)from d. (sockaddr*)&from Gi tr thch hp cho <F> l a. ^ b. | c. & d. ~ Gi tr thch hp cho <G> l a. i*2 b. i*3 c. i*4 d. i on chng trnh server sau qun l cc kt ni ca client di dng danh sch lin kt kp. in vo ch trng cc lnh thch hp 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 thch hp cho <A> l a. ret b. c c. trng d. pHead 80. Gi tr thch hp cho <B> l a. sizeof(cAddr) b. cAddrLen c. &cAddrLen d. &ret 81. Gi tr thch hp cho <C> l a. new Connection b. new SOCKET c. 0

d. Phng n khc 82. Gi tr thch hp cho <D> l a. pTmp b. pCur c. pHead d. pHead->pNext 83. Gi tr thch hp cho <E> l a. pHead b. pCur c. pTmp d. pCur->pNext 84. Gi tr thch hp cho <F> l a. c b. listen c. 0 d. Phng n khc 85. Gi tr thch hp cho <G> l a. pHead b. pCur c. pTmp d. 0 86. on chng trnh sau thc hin phn gii tn min nhp t bn phm vi cng 8888 sau hin cc kt qu ra mn hnh, in vo ch trng cc lnh thch hp. 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 thch hp cho <A> l a. 8888 b. 8888 c. htons(8888) d. ntohs(8888); 87. Gi tr thch hp cho <B> l a. info b. &info c. 0 d. &addr 88. Gi tr thch hp cho <C> l a. info->ai_addr b. pCur c. info d. pCur->ai_addr 89. Gi tr thch hp cho <D> l a. inet_addr(addr.sin_addr) b. inet_ntoa(pCur) c. inet_ntoa(pCur->sin_addr) d. Phng n khc 90. on chng trnh sau minh ha vic x l lnh ca HTTP server phn tch URL m client yu cu. Server s dng vic nhn d liu cho n khi gp cp k t \r\n\r\n. in vo ch trng cc lnh thch hp 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)

91.

92.

93.

94.

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 thch hp cho <A> l a. command b. command+len c. command+1 d. &command Gi tr thch hp cho <B> l a. ret b. len c. pos d. len-1 Gi tr thch hp cho <C> l a. == b. > c. < d. <= Gi tr thch hp cho <D> l a. command b. command+4 c. command-4 d. &command+4 Gi tr thch hp cho <E> l a. pos b. pos-command c. pos-command+4 d. pos-command-4

Вам также может понравиться