收藏 分销(赏)

合肥学院网络协议编程期末试卷.doc

上传人:人****来 文档编号:4318303 上传时间:2024-09-05 格式:DOC 页数:10 大小:13.42KB 下载积分:8 金币
下载 相关 举报
合肥学院网络协议编程期末试卷.doc_第1页
第1页 / 共10页
合肥学院网络协议编程期末试卷.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
1 一.选择题 1.Internet中的主要通信协议是( D ) A.HTML B.HTTP C.ARPA D.TCP/IP 2.OSI参考模型将网络通信的工作划分为7个层次,不属于OSI参考模型的层次是( B ) A.网络层 B.通信层 C.会话层 D.物理层 3. ping命令使用的协议为(D) A. TCP B. UDP C. ARP D.ICMP 4. Telnet使用(A)端口来建立连接 A. TCP端口23 B. UDP端口23 C. ARP端口25 D.ICMP端口25 5.在Visual C++中,通常使用WinSock2.2实现网络通信的功能,则需要引用头文件为( B) A.Winsock.h B.winsock2.h C.winsock22.h D.winsock2.2.h 6.将u_long类型的主机字节顺序格式IP地址转换为TCP/IP网络字节顺序格式的函数是( A) A.htoml B.htons C.ntohl D.ntohs 7.下面不属于Socket编程模式的是(D ) A.Select模型 B.WSAAsyncSelect模型 C.WSAEventSelect模型 D.完成例程模型 8.下面模型使用线程池处理异步I/O请求的是(D ) A.Select模型 B.WSAAsyncSelect模型 C.WSAEventSelect模型 D.完成例程模型 9.在ioctlsocket()函数中使用(A )参数,并将argp参数设置为非0值,可以将Socket设置为非阻塞模式。 A.FIONBIO B.FIONREAD C.SIOCATMARK D.FIONONBLOCK 10.在执行select()函数时如果出现错误则返回(D ) A.0 B.-1 C.NULL D.SOCKET_ERROR 二.填空题 1.TCP/IP协议簇中包含 网络接口层、网络层、传输层和应用层。 2. FTP用于建立控制连接的端口为 21 ;当需要传输文件数据时,客户端程序将连接服务器的端口 20 。 3.根据基于的底层协议不同,Socket开发接口可以提供__面向连接___和_ 无连接__两种服务方式。 4.在计算机中使用无符号长整型数(unsigned long)来存储和表示IP地址,而且分为__网络字节顺序__和_主机字节顺序__两种格式。 5.在Visual C++中使用结构体__ in_addr __来保存网络字节顺序格式的IP地址。 6.Socket编程可以分为___阻塞__和___非阻塞__两种开发模式。 7.默认情况下,最多可以管理的Socket数量为__1024_个。 8.在select()函数中使用___ fd_set__结构体来管理多个Socket。 9.在WSAAsyncSelect模型中,应用程序可以在一个Socket上接收以_ Windows消息__为基础的网络事件通知。 10. 两个主机使用TCP进行通信可以分为3个阶段,即 建立连接阶 , 数据传输阶段 和 断开连接释放资源阶段 。 三、简单题 1、简述TCP和UDP的区别。 UDP是一种不可靠的协议,在传送数据时,源主机和目的主机之间不建立连接。而TCP协议为了确保数据传输的准确和安全可靠,集成了各种安全保障功能,这在实际执行过程中会占用大量的系统开销。因此,UDP具有TCP无法比拟的速度优势。 相对于可靠性而言,基于UDP的应用更注意性能。与TCP相比,UDP更适合发送数据量比较少、但对响应速度要求比较高的情况。 2、简述FTP的两种连接模式。 答:FTP支持两种运行模式,即主动模式和被动模式,它们的区别在于控制如何打开第2个连接。 1.主动模式:在主动模式下,客户端向服务器发送自己用于数据连接的IP地址和端口号,然后由服务器程序打开数据连接。 2.被动模式:当客户端在防火墙后面或者无法接收TCP连接时,通常建议采用被动模式。在被动模式下,服务器向客户端发送自己用于数据连接的IP地址和端口号,则客户端打开数据连接。 3、简述winpcap提供的主要功能及典型的应用。 主要功能:捕获网络原始数据包;根据用户定义的规则过滤数据包;发送用户构造的数据包到网络中;统计网络流量;保存捕获的数据包。 典型应用:网络协议分析器;网络监听器;网络流量记录;网络流量产生器;用户级的网桥和路由器;网络入侵检测系统;网络扫描器;网络安全工具。 4、简述流式Socket和数据报式Socket的区别。 表5.1 流式套接字和数据报式套接字的区别 比较项目 流式套接字 数据报式套接字 建立和释放连接 √ × 保证数据到达 √ × 按发送顺序接收数据 √ × 通讯数据包含完整的目的地址信息 × √ 5、简述socket提供三种类型的套接字。 1.流式套接字 提供面向连接的、可靠的数据传输服务,可以无差错地发送和接收数据。 2.数据包套接字 提供了一种无连接、不可靠的双向数据传输服务。 3.原始套接字 该接口允许对较低层协议,如IP、ICMP直接访问。 四、编程题 通常我们使用winsock2.2来进行网络编程。请补全下面代码以及添加注释。 #include "stdafx.h" #include <iostream> #include "(1) " #pragma comment(lib, "(2) ") //完整的服务端程序 int main(int argc, char* argv[]) { const int BUF_SIZE = 64; WSADATA wsd; //WSADATA变量 SOCKET sServer; //服务器套接字 SOCKET sClient; //客户端套接字 SOCKADDR_IN addrServ;; //服务器地址 char buf[BUF_SIZE]; //接收数据缓冲区 int retVal; //返回值 if (WSAStartup(MAKEWORD(2,2), &wsd) != 0) //(3) { printf("失败!"); return 1; } sServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);// (4) if(INVALID_SOCKET == sServer) { printf("失败!\n"); WSACleanup();//释放套接字资源; return -1; } //服务器套接字地址 addrServ.sin_family = (5) ; addrServ.sin_port = htons(4999); addrServ.sin_addr.s_addr = INADDR_ANY; retVal = bind(sServer, (LPSOCKADDR)&addrServ, sizeof(SOCKADDR_IN)); (6) if(SOCKET_ERROR == retVal) { printf("失败!\n"); closesocket(sServer); //关闭套接字 WSACleanup(); //释放套接字资源; return -1; } //4.开始监听 retVal = (7) (sServer, 1); if(SOCKET_ERROR == retVal) { printf("监听任务失败!\n"); closesocket(sServer); //关闭套接字 WSACleanup(); //释放套接字资源; return -1; } //接受客户端请求 sockaddr_in addrClient; int addrClientlen = sizeof(addrClient); sClient =(8) (sServer,(sockaddr FAR*)&addrClient, &addrClientlen); //5.接受链接 if(INVALID_SOCKET == sClient) { printf("接受链接启动失败!\n"); closesocket(sServer); //关闭套接字 WSACleanup(); //释放套接字资源; return -1; } while(true) { //接收客户端数据 ZeroMemory(buf, BUF_SIZE);//清空 retVal =(9) (sClient, buf, BUF_SIZE, 0);//读取数据 if (SOCKET_ERROR == retVal) { printf("接受客户端数据失败!\n"); closesocket(sServer); closesocket(sClient); WSACleanup(); return -1; } if(buf[0] == '0') break; printf("客户端发送的数据:%s\n",buf); printf("向客户端发送数据:%s\n",buf); (10) (sClient, buf, strlen(buf), 0);//向客户端发送数据 } //退出 closesocket(sServer); //关闭套接字 closesocket(sClient); //关闭套接字 WSACleanup(); //释放套接字资源; return 0; } 答案: 1.winsock2.h 2. ws2_32.lib 3.初始化套结字动态库 4.创建套接字 5.AF_INET 6.绑定套接字 7.listen 8.accept 9.recv 10.send
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服