网络编程试题 参考答案

合集下载

Java 网络编程练习题及答案

Java 网络编程练习题及答案

Java 网络编程练习题及答案Java 网络编程是指利用Java语言进行网络通信和传输数据的技术。

在日常的软件开发和网络应用中,网络编程是一个非常重要的方向。

本文将提供一些Java网络编程的练习题,并给出相应的答案,以帮助读者更好地掌握这一技术。

一、基础练习题1. 编写一个简单的Java程序,实现客户端向服务器端发送消息,并在服务器端打印接收到的消息。

```java// 客户端代码import java.io.*;import .*;public class Client {public static void main(String[] args) throws IOException {Socket socket = new Socket("localhost", 8888);OutputStream outputStream = socket.getOutputStream();PrintWriter out = new PrintWriter(outputStream, true);out.println("Hello, Server!");InputStream inputStream = socket.getInputStream();BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));String response = in.readLine();System.out.println("Server: " + response);out.close();in.close();socket.close();}}// 服务器端代码import java.io.*;import .*;public class Server {public static void main(String[] args) throws IOException {ServerSocket serverSocket = new ServerSocket(8888);System.out.println("Server is running...");Socket socket = serverSocket.accept();InputStream inputStream = socket.getInputStream();BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));String request = in.readLine();System.out.println("Client: " + request);OutputStream outputStream = socket.getOutputStream();PrintWriter out = new PrintWriter(outputStream, true);out.println("Hello, Client!");out.close();in.close();socket.close();serverSocket.close();}}```2. 编写一个Java程序,实现多个客户端同时向服务器端发送请求,并在服务器端打印接收到的请求。

网络编程试题及答案

网络编程试题及答案

网络编程试题及答案一、单项选择题(每题2分,共10分)1. 以下哪个协议不属于传输层协议?A. TCPB. UDPC. IPD. FTP答案:C2. 在网络编程中,以下哪个函数用于创建一个套接字?A. socket()B. bind()C. listen()D. accept()答案:A3. HTTP协议默认使用的端口号是多少?A. 80B. 443C. 21D. 25答案:A4. 在TCP协议中,三次握手过程的最后一个步骤是什么?A. 客户端发送SYNB. 服务器发送SYN-ACKC. 客户端发送ACKD. 服务器发送ACK答案:C5. 在网络编程中,以下哪个函数用于关闭套接字?A. close()B. shutdown()C. bind()D. listen()答案:A二、多项选择题(每题3分,共15分)1. 下列哪些是网络编程中常用的函数?A. send()B. recv()C. open()D. read()答案:A B2. 在网络编程中,以下哪些选项是正确的?A. TCP是面向连接的协议B. UDP是无连接的协议C. IP协议负责数据传输D. FTP协议负责文件传输答案:A B3. 以下哪些是网络编程中常见的错误处理方式?A. 使用errnoB. 使用strerrorC. 使用printfD. 使用return答案:A B4. 在网络编程中,以下哪些函数用于处理TCP连接?A. connect()B. send()C. bind()D. accept()答案:A D5. 下列哪些是网络编程中常见的数据传输方式?A. 阻塞模式B. 非阻塞模式C. 同步模式D. 异步模式答案:A B三、简答题(每题5分,共20分)1. 描述TCP和UDP的主要区别。

答案:TCP是面向连接的协议,提供可靠的数据传输服务,具有数据传输的顺序性、可靠性和流量控制等特点。

UDP是无连接的协议,提供不可靠的数据传输服务,具有传输速度快、开销小的特点。

Windows网络编程 练习题参考答案

Windows网络编程 练习题参考答案

第1章Internet与网络通信模型概述一、选择题1.D 2.B 3.D 4.D二、填空题1.Open System Interconnection Reference Model2.开放系统互连参考模型3.协议数据单元4.PDU,Protocol Data Unit5.数据段(Segment)6.数据包(Packet)7.数据帧(Frame)8.比特(Bit)9.网络接口层10.网络层11.传输层12.应用层三、简答题1.答:OSI参考模型将网络通信的工作划分为7个层次,由低到高分别为物理层(Physical Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)和应用层(Application Layer)。

2.答:在网络通信中,发送端的自上而下的使用OSI参考模型,对应用程序要发送的信息进行逐层打包,直至在物理层将其发送到网络中;而接收端则自下而上的使用OSI参考模型,将收到的物理数据逐层解析,最后将得到的数据传送给应用程序。

当然,并不是所有的网络通信都需要经过OSI模型的全部七层。

例如,同一网段的二层交换机之间通信之需要经过数据链路层和物理层,而路由器之间的连接则只需要网络层、数据链路层和物理层即可。

在发送方封装数据的过程中,每一层都会为数据包加上一个头部;在接收方解封数据时,又会逐层解析掉这个头部。

因此,双方的通信必须在对等层次上进行,否则接收方将无法正确地解析数据。

3.答:帧的简要结构如图1.4所示。

图1.4 帧的简要结构每个字段的说明如下:●前导码,内容是16进制数0xAA,作用是使接收节点进行同步并做好接收数据帧的准备。

●帧首定界符,是10101011的二进制序列,标识帧的开始,以使接收器对实际帧的第一位定位。

●源地址和目的地址,即发送和接收数据的两端主机的MAC地址。

网络编程与软件开发考试

网络编程与软件开发考试

网络编程与软件开发考试(答案见尾页)一、选择题1. 在网络编程中,以下哪个是TCP/IP协议簇中的一个重要协议?A. UDPB. TCPC. ICMPD. ARP2. 在网络软件开发中,什么是RESTful API?A. 一种基于HTTP协议的软件架构风格B. 一种面向对象的编程语言C. 一种数据库访问接口D. 一种网络设备配置协议3. 在Windows系统中,可以使用以下哪个命令来检查网络连接状态?A. ipconfigB. netstatC. routeD. nslookup4. 在网络编程中,以下哪个是同步输入/输出操作的一个例子?A. 使用scanf()函数读取用户输入B. 使用printf()函数显示数据C. 使用fread()函数从文件中读取数据D. 使用send()函数发送数据5. 在网络软件开发中,什么是MVC模式?A. 一种编程范式,用于将应用程序的数据模型、用户界面和业务逻辑分离B. 一种面向对象的编程语言C. 一种数据库管理系统D. 一种网络设备接口标准6. 在Windows系统中,可以使用以下哪个命令来查看本地IP地址?A. ipconfigB. netstatC. routeD. nslookup7. 在网络编程中,以下哪个是套接字(socket)编程的基础?A. URLB. IP地址C. 端口号D. 协议类型(如TCP或UDP)8. 在Windows系统中,可以使用以下哪个命令来关闭一个正在运行的程序或服务?A. tasklistB. netstatC. taskkillD. ipconfig9. 在网络软件开发中,什么是JSON(JavaScript Object Notation)?A. 一种轻量级的数据交换格式B. 一种面向对象的编程语言C. 一种数据库访问接口D. 一种网络设备配置协议10. 在Windows系统中,可以使用以下哪个命令来查看计算机的网络适配器信息?A. ipconfigB. netstatC. routeD. nslookup11. 网络编程中,以下哪个是同步编程模型?A. 请求/响应模型B. 非阻塞模型C. 同步阻塞模型D. 事件驱动模型12. 在软件开发中,以下哪个不是常用的中间件技术?A. 缓存技术B. 消息队列C. 数据库技术D. Web服务器技术13. 在网络编程中,以下哪个是TCP/IP协议族的组成部分?A. HTTPB. HTTPSC. ARPD. RARP14. 在软件开发中,以下哪个是面向对象编程的优点?A. 可重用性B. 可扩展性C. 可维护性D. 可移植性15. 在网络编程中,以下哪个是URL的组成部分?A. 协议B. 主机名C. 端口D. 路径16. 在软件开发中,以下哪个是敏捷开发方法的代表?A. 瀑布模型B. ScrumC. KanbanD. Waterfall17. 在网络编程中,以下哪个是套接字通信的步骤?A. 创建套接字B. 绑定套接字到端口C. 监听连接请求D. 处理客户端数据18. 在软件开发中,以下哪个是数据库事务的特性?A. 原子性B. 一致性C. 隔离性D. 持久性19. 在网络编程中,以下哪个是RESTful API的特点?A. 无状态B. 资源导向C. 标准化的方法D. 语言无关20. 在软件开发中,以下哪个是版本控制系统的功能?A. 文档管理B. 代码审查C. 权限控制D. 项目跟踪21. 在网络编程中,以下哪个是面向对象的编程范式?A. 原子操作B. 面向对象C. 函数式编程D. 过程式编程22. 在网络软件开发中,HTTP协议的作用是?A. 提供文件传输服务B. 提供电子邮件服务C. 提供网页浏览服务D. 提供实时通讯服务23. 以下哪个是网络编程中的TCP/IP协议族的一部分?A. UDPB. ICMPC. ARPD. DNS24. 在网络应用开发中,使用哪种编程语言可以更好地处理JSON数据?A. PythonB. JavaC. JavaScriptD. C++25. 在Web开发中,哪种技术用于构建动态网站和单页应用程序?A. HTMLB. CSSC. JavaScriptD. PHP26. 在网络编程中,以下哪个是同步输入/输出操作?A. reader.readLine()B. writer.write()C. scanf("%d", &num)D. printf("%d", num)27. 在网络软件开发中,使用哪种框架可以更快地构建Web应用程序?A. DjangoB. Spring BootC. Express.jsD. Ruby on Rails28. 在网络编程中,以下哪个是套接字(socket)编程的基础?A. IP地址B. 端口号C. 协议类型D. MAC地址29. 在Web开发中,哪种技术用于实现用户身份验证和授权?A. HTTPSB. JWTC. OAuthD. SSL/TLS30. 在网络编程中,以下哪个是阻塞与非阻塞模式的主要区别?A. 是否等待线程完成B. 是否可以同时处理多个任务C. 是否需要处理异常D. 是否支持并行编程31. 在网络编程中,以下哪个是面向对象的编程范式?A. 类和对象的概念B. 函数式编程C. 迭代器模式D. 事件驱动编程32. 在Java中,什么是注解(Annotations)?A. 一种特殊的注释,用于在源代码中添加元数据B. 一种编程语言结构,用于定义程序中的属性和方法C. 一种内置的反射机制D. 一种错误处理机制33. 以下哪个不是HTTP协议的状态码?A. 200 OKB. 404 Not FoundC. 500 Internal Server ErrorD. 601 Authentication Required34. 在软件开发中,什么是敏捷开发方法?A. 一种瀑布模型的变体,强调迭代和增量开发B. 一种强调预见性和计划性的开发方法C. 一种基于UML的建模语言D. 一种基于CMMN的流程管理模型35. 在网络编程中,什么是套接字(Socket)?A. 一种通信端点,用于在网络中发送和接收数据B. 一种文件系统,用于在计算机之间传输文件C. 一种数据库管理系统D. 一种网络协议36. 在Web开发中,什么是MVC模式?A. 一种设计模式,用于将应用程序的数据模型、用户界面和业务逻辑分离B. 一种编程语言,用于构建Web应用程序C. 一种数据库管理系统D. 一种服务器端脚本环境37. 在软件开发中,什么是持续集成(Continuous Integration, CI)?A. 一种软件开发方法,要求开发团队频繁地集成代码B. 一种自动化测试方法,确保代码的质量C. 一种软件配置管理策略D. 一种项目管理方法38. 在网络编程中,什么是RESTful API?A. 一种基于HTTP协议的API,用于管理Web资源B. 一种基于SOAP协议的APIC. 一种基于消息队列的通信协议D. 一种基于WebSocket的实时通信协议39. 在软件开发中,什么是版本控制(Version Control)?A. 一种用于跟踪代码变更的工具B. 一种编程语言,用于构建Web应用程序C. 一种数据库管理系统D. 一种软件开发方法40. 在网络编程中,什么是TCP/IP协议?A. 一种网络通信协议,用于在设备之间传输数据B. 一种文件系统,用于在计算机之间传输文件C. 一种编程语言,用于构建Web应用程序D. 一种操作系统二、问答题1. 什么是网络编程中的TCP/IP协议?请简要介绍其历史和发展。

网络编程试卷(含答案)

网络编程试卷(含答案)

网络编程试卷(含答案)一.选择题(30分,每题3分)1.以下哪个是TCP/IP模型?(B)A.应用层,表示层,网络层,物理层;B.应用层,传输层,网络层,链路层C.应用层,传输层,链路层,物理层D.应用层,传输层,网络层,物理层2.P2P的设计架构不包含以下哪一种?( C)A.集中式架构 B.完全分布式架构C.点对点架构 D.混合型架构3.HTTP请求方法不包括如下哪一种( B)A.Post B.UpdateC.Get D.Head4.FTP的作用不包括(C)A.文件共享; B. 通过应用程序直接或间接使用远程主机;C.提供一致性的协议,避免用户在不同主机上有相同的操作方式;D. 提供可靠及有效率的数据传输;5.SMTP与POP3的端口分别是:( B)A.25,75 B. 25,110C.21,75 D. 21,1106.IP地址是192.168.100.2,子网掩码是255.255.255.0,则其网段的广播地址是(C)A.192.168.100.1 B.192.168.100.0 C.192.168.100.255 D.255.255.255.2557.TCP的特点不包括如下哪一点(C)A.面向连接 B.全双工数据传送C.传输速度快 D.面向字节流8.关于线程哪一点是对的。

(D)A.任何一个C#程序都有一个默认的线程,该线程是后台线程;B. 每个进程都有一个线程池。

线程池默认大小有35个线程;C.线程池中的线程都是前台线程;D. C#中常用的线程同步的语句是lock语句;9.在Internet中用一个三元组可以在全局中唯一标识一个应用层进程,这不包括下列哪一种( A )A.网络层协议 B.IP地址C.端口号 D.传输层协议10.TCP/IP协议簇中,哪一种是网络层协议( B )A.TCP B.ARPC.SMTP D.TFTP二.判断题(15分,每题1分,用T表示对,F表示错)1.端口的分配地址是1-65535,全局分配是1-1023,本地分配是1024-65535 (F)2.线程池中既有后台线程也有前台线程,某进程的所有前台线程都终止了,后台进程也自然终止。

网络编程与软件开发技术考试

网络编程与软件开发技术考试

网络编程与软件开发技术考试(答案见尾页)一、选择题1. 在网络编程中,以下哪个是套接字(Socket)的英文全称?A. Application Programming InterfaceB. Berkeley SocketsC. Common Object Request Broker ArchitectureD. Remote Procedure Call2. 在软件开发中,以下哪个是面向对象编程(OOP)的三个基本特性?A. 封装B. 多态C. 继承D. 抽象3. 以下哪个是HTTP协议中的状态码,表示请求已被服务器成功处理?A. 200 OKB. 404 Not FoundC. 500 Internal Server ErrorD. 302 Found4. 在网络开发中,以下哪个是TCP/IP协议栈中的传输层主要协议?A. IPB. TCPC. UDPD. ICMP5. 在软件开发中,以下哪个是敏捷开发方法论的代表之一?A. ScrumB. WaterfallC. Rational Unified Process (RUP)D. Extreme Programming (XP)6. 在网络编程中,以下哪个是URL的组成部分?A. 协议B. 主机名C. 端口号D. 路径7. 在软件开发中,以下哪个是版本控制系统的代表之一?A. GitB. SVNC. MercurialD. Perforce8. 在网络开发中,以下哪个是互联网协议(IP)的版本?A. IPv4B. IPv5C. IPv6D. IPv79. 在软件开发中,以下哪个是测试驱动开发(TDD)的核心思想?A. 先编写测试用例,然后编写代码B. 先编写代码,然后编写测试用例C. 编写测试用例和编写代码并行D. 以上都不是10. 在网络编程中,以下哪个是使用套接字进行通信的一对基本的API函数?A. connectB. listenC. acceptD. read11. 网络编程中,以下哪个是同步编程模型的特点?A. 多个任务按顺序执行B. 多个任务并行执行C. 任务之间通过共享内存进行通信D. 任务之间通过消息队列进行通信12. 在软件开发中,以下哪个是面向对象编程(OOP)的特征?A. 封装B. 继承C. 多态D. 抽象13. 网络协议中的TCP和UDP协议的主要区别是什么?A. 是否需要建立连接B. 是否保证数据传输的可靠性C. 传输速度D. 传输是否有序14. 在Web开发中,以下哪个是HTML的新特性?A. 表单验证B. 多媒体播放C. 地理位置信息D. 社交媒体分享功能15. 在分布式系统中,以下哪个是CAP定理的内容?A. 一致性B. 可用性C. 分区容错性D. 并发性16. 在移动应用开发中,以下哪个是React Native的技术特点?A. 基于JavaScript和ReactB. 客户端渲染C. 原生组件的使用D. 设备性能的优化17. 在数据库管理中,以下哪个是SQL语言的特点?A. 高度过程化B. 一种查询语言C. 支持事务处理D. 高度标准化18. 在物联网(IoT)中,以下哪个是MQTT协议的特点?A. 轻量级B. 高效的算法处理C. 可靠的传输D. 适用于低带宽和不稳定网络19. 在网络安全中,以下哪个是防火墙的作用?A. 控制对内部网络的访问B. 提供数据加密和解密服务C. 监控和分析网络流量D. 防止未经授权的访问20. 在云计算中,以下哪个是虚拟化技术的优势?A. 提高硬件资源利用率B. 降低运维成本C. 简化应用程序的部署和管理D. 提供灵活的资源配置21. 在网络编程中,以下哪个是套接字(Socket)的基本特性?A. 可靠性B. 流量控制C. 面向连接D. 无连接22. 在Windows平台上进行网络编程时,可以使用以下哪个API来创建和管理套接字?A. WinsockB. SocketC. ConnectD. Listen23. 以下哪个是HTTP协议的主要特点?A. 要求客户端和服务器之间建立连接B. 使用TCP作为传输层协议C. 提供无状态的通信服务D. 以上都是24. 在Java中,以下哪个是Servlet API的一部分,用于处理HTTP请求?A. HttpSessionB. HttpServletRequestC. HttpServletResponseD. HttpSession25. 在分布式系统中,以下哪个是Paxos算法的主要用途?A. 分布式共识B. 数据复制C. 缓存一致性D. 以上都是26. 在网络开发中,以下哪个是RESTful API的设计原则?A. 使用标准的HTTP方法(GET, POST, PUT, DELETE)B. 资源导向C. 无状态D. 以上都是27. 在Linux网络编程中,以下哪个函数用于监听新连接?A. bindB. listenC. connectD. accept28. 在网络应用开发中,以下哪个是数据库连接池的作用?A. 提高数据访问效率B. 减少数据库服务器的压力C. 提供安全的数据库访问D. 以上都是29. 在Web开发中,以下哪个是HTML的新特性?A. 新的表单元素B. 新的绘图APIC. 新的视频播放APID. 以上都是30. 在移动应用开发中,以下哪个是React Native的主要优势?A. 跨平台兼容性B. 原生应用体验C. 高性能D. 以上都是31. 在网络编程中,以下哪个是面向对象编程的优点?A. 更好的封装性B. 更强的模块化C. 更高的性能D. 更容易跨平台32. 在Java中,以下哪个关键字用于定义类?A. classB. extendsC. implementsD. interface33. 以下哪个不是HTTP协议的主要特点?A. 被动性B. 可靠性C. 无状态性D. 可扩展性34. 前端开发中,哪种布局方式常用于制作响应式网站?A. FlexboxB. CSS GridC. TableD. Flexbox35. 在Web应用开发中,以下哪个技术用于实现用户身份验证?A. HTMLB. CSSC. JavaScriptD. OAuth36. 在数据库管理中,以下哪个是关系型数据库管理系统(RDBMS)的特点?A. 非结构化数据存储B. 二维表格存储数据C. 适合大规模数据存储D. 无需预定义模式37. 在网络爬虫中,以下哪个语言通常用于编写爬虫程序?A. PythonB. JavaC. C++D. JavaScript38. 在分布式系统中,以下哪个是CAP定理的定义?A. 一致性、可用性、分区容错性B. 透明度、可用性、分区容错性C. 一致性、可靠性、分布式事务D. 透明度、可靠性、分布式事务39. 在软件开发中,敏捷开发方法相比传统开发方法的优点包括?A. 更快的响应变化B. 更高的软件质量C. 更强的团队协作D. 更高的成本效益40. 在云计算中,以下哪个服务模型提供了最大的灵活性和可扩展性?A. IaaSB. PaaSC. SaaSD. 其他(请注明)二、问答题1. 什么是网络编程中的套接字(Socket)?请简述其概念和作用。

网络编程试题答案

网络编程试题答案

网络编程试题答案一、选择题(共30题,每题1分)1.我国在1991年建成第一条与国际互联网连接的专线,与斯坦福大学连接成功,实现者是中国科学院的A)数学所B)物理所C)高能所D)情报所答案:C2. 广域网覆盖的地理范围从几十公里到几千公里。

它的通信子网主要使用A) 报文交换技术B) 分组交换技术C) 文件交换技术D) 电路交换技术答案:B3. 广域网一般采用网状拓扑构型,该构型的系统可操性高,但是结构复杂。

为了实现正确的传输必须采用Ⅰ.光纤传输技术Ⅱ.路由选择算法Ⅲ.无线通信技术Ⅳ.流量控制方法A) Ⅰ和ⅡB) Ⅰ和ⅢC) Ⅱ和Ⅳ D) Ⅲ和Ⅳ答案:C4. 以下哪些不是UDP协议的特性A) 提供可靠服务B) 提供无连接服务C) 提供端到端服务D) 提供全双工服务答案:A5. 在对千兆以太网和快速以太网的共同特点的描述中,以下那种说法是错误的?A) 相同的数据帧格式B) 相同的物理层实现技术C) 相同的组网方法D) 相同的介质访问控制方法答案:B6. 高层互连是指传输层及其以上各层协议不同的网络之间的互连。

实现高层互连的设备是A) 中继器B) 网桥C) 路由器D) 网关答案 D7. IP路由器设计的重点是提高接收,处理和转发分组速度,其传统IP路由转发功能主要由A) 软件实现B) 硬件实现C) 专用ASIC实现D) 操作系统实现答案 A8. 交换式局域网从根本上改变了“共享介质”的工作方式,它可以通过局域网交换机支持端口之间的多个并发连接。

因此,交换式局域网可以增加网络带宽,改善局域网性能与A) 服务质量B) 网络监控 C) 存储管理 D) 网络拓扑答案 A9. 虚拟局域网通常采用交换机端口号、MAC地址、网络层地址或A) 物理网段定义B) 操作系统定义C) IP广播组地址定义D) 网桥定义答案 C路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要10. 在下列任务中,那些是网络操作系统的基本任务?Ⅰ.屏蔽本地资源与网络资源之间的差异Ⅱ.为用户提供基本的网络服务功能Ⅲ.管理网络系统的共享资源Ⅳ.提供网络系统的安全服务A) Ⅰ和ⅡB) Ⅰ和ⅢC) Ⅰ、Ⅱ、ⅢD) 全部答案 D11. Windows NT 是人们非常熟悉的网络操作系统,其吸引力主要来自Ⅰ.适合做因特网标准服务平台Ⅱ.开放源代码Ⅲ.有丰富的软件支持Ⅳ.免费提供A) Ⅰ和ⅢB) Ⅰ和ⅡC) Ⅱ和ⅢD) Ⅲ和Ⅳ答案 A12. 以下哪项不是网络操作系统提供的服务?A) 文件服务 B) 打印服务C) 通信服务 D) 办公自动化服务答案 D13. 以下哪项不是IP路由器应具备的主要功能A) 转发所收到的IP数据报B) 为需要转发的IP数据报选择最佳路径C) 分析IP数据报所携带的TCP内容D) 维护路由表信息答案 C14. IP服务的3个主要特点是(A)A) 不可靠、面向无连接和尽最大努力投递B) 可靠、面向连接和尽最大努力投递C) 不可靠、面向连接和全双工D) 可靠、面向无连接和全双工答案 A15.java当中网络编程的接口是在哪个包当中提供的?A java.utilB ng D java.tipip答案:C16.下列哪个不是java的高级编程接口?A URLB URLConnection C.java.sql D httpURLConnection答案:C17.下列关于HTTP的描述那个不正确?A超文本传输协议(Hypertext Transfer Protocol, HTTP) 是一个“请求-回应”的应用协议B这个协议支持一套固定的方法如GET、POST、PUT、DELETE 等。

网络编程试题-参考答案

网络编程试题-参考答案

华清远见嵌入式学院第二学期期中考试一、选择题(10题,每题2分,共20分)1.如果进程A调用fork函数,创建进程B,然后进程B再调用fork函数,创建进程C,进程C调用exec执行新的程序,那么各个进程将以什么顺序来执行:( D)。

[A] 以A、B、C的顺序执行[B] 以C、B、A的顺序执行[C] 以B、C、A的顺序执行[D] 无固定执行顺序2.以下对早期ARPAnet的描述不正确的是( D)[A] 使用NCP协议[B] 不能互联不同类型的计算机[C] 没有纠错功能[D] 可以互联不同类型的操作系统3.Internet中的世界语是( C)[A] TCP [B] IP [C] TCP/IP [D] http4.以下不属于socket的类型的是( D)。

[A] 流式套接字[B] 数据报套接字[C] 原始套接字[D] 网络套接字5.以下关于socket的描述错误的是( C)[A] 是一种文件描述符[B] 是一个编程接口[C] 仅限于TCP/IP[D] 可用于一台主机内部不同进程间的通信6.路由器是根据哪一层的信息为数据包选择路由( C)[A] 物理层[B] 数据链路层[C] 网络层[D] 传输层7.为了解决在不同体系结构的主机之间进行数据传递可能会造成歧义的问题,以下( A )函数常常用来在发送端和接收端对双字节或者四字节数据类型进行字节序转换。

[A] htons()/htonl()/ntohs()/ntohl()[B] inet_addr()/inet_aton()/inet_...[C] gethostbyname()/gethostbyaddr()[D] (struct sockaddr *)&(struct sockaddr_in类型参数)8.在实现基于TCP的网络应用程序时,服务器端正确的处理流程是( C)[A] socket() -> bind() -> listen() -> connect() -> read()/write() -> close()[B] socket() -> bind() -> listen() -> read()/write() -> close()[C] socket() -> bind() -> listen() -> accept() -> read()/write() -> close()[D] socket() -> connect() -> read()/write() -> close()9.只用于同一主机内部进程间通信的socket应使用的协议族是 ( B )[A] AF_INET [B] AF_UNIX [C] AF_NS [D] AF_IMPLINK10.以下哪个协议不是用在网络层的 ( D )[A] IGMP [B] IP [C] ICMP [D] SMTP二、判断题(15题,每题1分)1.信号是一种同步通讯方式 ( F )2.可以使用signal()来给同一进程组中的所有进程发送信号 ( F )3.从一个空FIFO中读取数据时会发生阻塞,但从一个空PIPE中读取数据时不会发生阻塞 ( F )4.IP地址均为32位 ( F )5.大端序表示高位字节存储在高地址 ( F )6.bind()函数用于将套接字和某个地址绑定 ( T )7.connect()函数既可以用于TCP,也可以用于UDP ( T )8.每个套接字最多只能connect一次 ( F )9.为了区分一台主机接收到的网络数据包应该递交给哪个套接字来处理,要根据端口号 ( T )10.无论是TCP socket,还是UDP socket,它们的服务器端必须调用bind()函数来绑定一个地址,这样客户端才可以和服务器端通信 ( T )11.发送一个UDP数据报,必须使用sendto()函数 ( F )12.当inet_addr(char *address)的参数address包含不合法的IP地址时,函数返回0 ( F )阅读以下程序,完成13-15题。

Chp14 网络编程_参考答案

Chp14 网络编程_参考答案

Chp14 网络编程参考答案1.参考答案TCP和UDP都是传输层协议,TCP是有连接(有连接|无连接)的协议,UDP是无连接(有连接|无连接)的协议。

这两种协议中,TCP协议更安全,而UDP协议传输效率更高。

2.ABC3.ABServerSocket中没有getInputStream和getOutputStream方法4.参考答案一般而言,创建一个Tcp客户端,有以下几步:1)创建一个Socket对象2)调用getInputStream方法和getOutputStream方法获得输入输出流3)利用输入输出流,读写数据4)关闭socket创建一个多线程的Tcp服务器,有以下几步1)创建ServerSocket对象2)调用该对象的accept方法,以获取客户端的连接。

该方法返回一个Socket对象。

3)利用返回的对象,创建一个新线程4)在新线程中完成读写操作5)在新线程中调用Socket对象的close方法5.参考答案//Client.javaimport .*;import java.io.*;public class Client{public static void main(String args[])throws Exception{ Socket s;//创建一个到“127.0.0.1: 9000”的Tcp连接s = new Socket(“127.0.0.1”, 9000);//向Tcp连接输出“Hello World”并换行PrintWriter pw = new PrintWriter(s.getOutputStream());pw.println(“Hello World”);//从服务器端读入一行文本,并打印出来BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));String str = br.readLine();System.out.println(str);s.close();}}//Server.javaimport java.io.*;import .*;public class Server{public static void main(String args[]) throws Exception { //创建一个服务器端口对象ServerSocket ss = new ServerSocket(9000);//获得一个客户的连接Socket s = ss.accept();//读入一行文本BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));String str = br.readLine();//在读入的文本后面加上+“ From Server”str += “ From Server”;//把处理之后的文本向客户端输出并换行PrintWriter pw = new PrintWriter(s.getOutputStream());pw.println(“Hello World”);//关闭连接s.close();}}6.参考答案在UDP编程中,表示UDP端口的是DatagramSocket类,其中发送和接受的方法分别为send方法和receive方法;表示UDP数据包的类是DatagramPacket类。

JSP网络编程试卷及答案

JSP网络编程试卷及答案

出卷: 《JSP 网络编程》试卷(闭卷)(课程代码 )班级 姓名 学号本试卷共 页,满分100分;考试时间 分钟。

一、 单项选择题(从下列各题所给备选答案中选出一个正确的答案,并将其序号填在题干后的括号内。

多选、选错或未选者不得分。

每小题2分,共20分)。

1、JSP 页面中通常需要指定字符集,下面哪个字符集不支持中文( ) A.utf-8 B. gb2312 C. gbk D. iso-8859-1 2、下边哪个不是JSP 的内置对象( ) A. session B.request C. cookie D.out3、哪个是JSP 指令标记( )A. <% …… %>B. <%! …… %>C. <%@ …… %>D. <%= …… %>4、当在JSP 文件中要使用到Date 对象时,应在JSP 文件中加入以下哪个语句( ) A. <jsp:include file=”java.util.*”/> B. <jsp:include page=”java.util.*”/> C. <%@ page import=”java.util.*”%> D. <%@ page include=”java.util.*”%>5、JavaBean 的生命周期中,哪个是用来跟踪某个用户的信息的( ) A. session B. request C. page D. application6、要在session 对象中获取key 属性的值,可以使用以下哪个语句( )A. session.getAttribute(“key”,”value”);B. session.setAttribute(“key”,”value”);C. session.setAtrribute(“key”);D. session.getAttribute(“key”);7、如果Tomcat 安装后,想要修改它的端口号,可以通过修改<tomcat 安装目录>/conf 下的什么文件来实现( ) A. web.xml B.server.xml C. server-minimal.xml D.tomcat-user.xm8、哪个不是Servlet 接口的方法( ) A. doGet 方法 B. doPost 方法 C.init 方法 D.forward 方法9、对数据库中的主键的正确说法是:( )A .唯一但可以为空B .唯一且不可为空C .不须唯一D .一个表的主键不能是多列10、Servlet 类被( )类继承A. RequestDispatcherB. HttpServletResponseC. HttpServletRequestD. HttpServlet 二、 多项选择题(从下列各题所给备选答案中选出一个或多个正确的答案,并将其序号填在题干后的括号内。

网络编程技术期末考试复习题及参考答案-专升本

网络编程技术期末考试复习题及参考答案-专升本

《网络编程技术》复习题一、填空题1、计算机网络上传输的数据都是以分组(packet)为单位的,分组实际就是一个由二进制字节构成的序列,它包括__________和控制信息两部分。

2、路由表中缺省路由的掩码为______________。

3、一台计算机如果只向网络中的某一台计算机发送数据称为单播,如果要同时向网络中的所有计算机发送信息,则被称为__________。

4、用来描述如何实现网络体系结构中各层次功能的具体方法和步骤的是________。

5、如果调用函数gethostbyname()失败,返回一个_____________________ 。

6、网络应用进程间的通信普遍采用C/S交互模式,在该模式中,通信双方中发起通信的一方被称为___________。

7、套接字编程接口有两种实现方式,第一种是通过通过在操作系统核心添加相应模块,另一种通过操作系统之外的函数库来实现。

Windows Socket就是以_______________方式实现的。

8、Windows Socket套接字包括流式套接字 (SOCK_STREAM)、________________________以及原始套接字(SOCKET_RAW)三种类型。

9、在使用C语言编程时,通常使用WinSock2.2实现网络通信的功能,则需要引用库文件______________。

10、函数socket(AF_INET,SOCK_STREAM,0);的功能是________________________。

11、要将一个套接字设置为非阻塞模式应使用的套接字函数是(只写函数名)_____________。

12、监听函数调用listen(s,3),其中参数3的含义是________________________。

13、在select()函数中使用______________结构体来管理多个Socket。

14、IP广播地址分为两种:______________________和有限广播地址。

网络编程试题答案

网络编程试题答案

网络编程试题答案一、选择题(共30题,每题1分)1.我国在1991年建成第一条与国际互联网连接的专线,与斯坦福大学连接成功,实现者是中国科学院的A)数学所B)物理所C)高能所D)情报所答案:C2. 广域网覆盖的地理范围从几十公里到几千公里。

它的通信子网主要使用A) 报文交换技术B) 分组交换技术C) 文件交换技术D) 电路交换技术答案:B3. 广域网一般采用网状拓扑构型,该构型的系统可操性高,但是结构复杂。

为了实现正确的传输必须采用Ⅰ.光纤传输技术Ⅱ.路由选择算法Ⅲ.无线通信技术Ⅳ.流量控制方法A) Ⅰ和ⅡB) Ⅰ和ⅢC) Ⅱ和Ⅳ D) Ⅲ和Ⅳ答案:C4. 以下哪些不是UDP协议的特性A) 提供可靠服务B) 提供无连接服务C) 提供端到端服务D) 提供全双工服务答案:A5. 在对千兆以太网和快速以太网的共同特点的描述中,以下那种说法是错误的?A) 相同的数据帧格式B) 相同的物理层实现技术C) 相同的组网方法D) 相同的介质访问控制方法答案:B6. 高层互连是指传输层及其以上各层协议不同的网络之间的互连。

实现高层互连的设备是A) 中继器B) 网桥C) 路由器D) 网关答案 D7. IP路由器设计的重点是提高接收,处理和转发分组速度,其传统IP路由转发功能主要由A) 软件实现B) 硬件实现C) 专用ASIC实现D) 操作系统实现答案 A8. 交换式局域网从根本上改变了“共享介质”的工作方式,它可以通过局域网交换机支持端口之间的多个并发连接。

因此,交换式局域网可以增加网络带宽,改善局域网性能与A) 服务质量B) 网络监控 C) 存储管理 D) 网络拓扑答案 A9. 虚拟局域网通常采用交换机端口号、MAC地址、网络层地址或A) 物理网段定义B) 操作系统定义C) IP广播组地址定义D) 网桥定义答案 C路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要10. 在下列任务中,那些是网络操作系统的基本任务?Ⅰ.屏蔽本地资源与网络资源之间的差异Ⅱ.为用户提供基本的网络服务功能Ⅲ.管理网络系统的共享资源Ⅳ.提供网络系统的安全服务A) Ⅰ和ⅡB) Ⅰ和ⅢC) Ⅰ、Ⅱ、ⅢD) 全部答案 D11. Windows NT 是人们非常熟悉的网络操作系统,其吸引力主要来自Ⅰ.适合做因特网标准服务平台Ⅱ.开放源代码Ⅲ.有丰富的软件支持Ⅳ.免费提供A) Ⅰ和ⅢB) Ⅰ和ⅡC) Ⅱ和ⅢD) Ⅲ和Ⅳ答案 A12. 以下哪项不是网络操作系统提供的服务?A) 文件服务 B) 打印服务C) 通信服务 D) 办公自动化服务答案 D13. 以下哪项不是IP路由器应具备的主要功能A) 转发所收到的IP数据报B) 为需要转发的IP数据报选择最佳路径C) 分析IP数据报所携带的TCP内容D) 维护路由表信息答案 C14. IP服务的3个主要特点是(A)A) 不可靠、面向无连接和尽最大努力投递B) 可靠、面向连接和尽最大努力投递C) 不可靠、面向连接和全双工D) 可靠、面向无连接和全双工答案 A15.java当中网络编程的接口是在哪个包当中提供的?A java.utilB ng D java.tipip答案:C16.下列哪个不是java的高级编程接口?A URLB URLConnection C.java.sql D httpURLConnection答案:C17.下列关于HTTP的描述那个不正确?A超文本传输协议(Hypertext Transfer Protocol, HTTP) 是一个“请求-回应”的应用协议B这个协议支持一套固定的方法如GET、POST、PUT、DELETE 等。

网络编程技术课程期末模拟试卷1及参考答案

网络编程技术课程期末模拟试卷1及参考答案

《网络编程技术》课程期末模拟试卷1及参考答案-----------------------------------------------------------------------------------------一、选择题(2×10=20分)⒈ADO中最基本的和核心的对象有三个:Connection连接对象、Command命令对象和 C 。

A.Field对象B.Parameter对象C.Recordset对象D.Field对象⒉程序如下:<%Cn.CloseSet cn=nothing%>表示 D 。

A.关闭数据库连接B.关闭连接C.关闭数据库D.关闭数据库连接并将连接对象彻底清除⒊利用HTML开发的静态网页,其扩展名应为 A 。

A..htmB..aspxC..aspD.没有严格限制⒋在VBScript中,用于字符串连接的运算符有“+”和 B 。

A.*B.&C.#D.@⒌默认情况下,安装完Windows 2000 Professional之后,IIS被安装了吗? B 。

A.是B.否⒍进行数据库查询,是否一定要使用Connection对象? A 。

A.是B.否⒎在Recordset对象的属性中,用于表示记录集总数的是 A 。

A.RecordCountB.CountC.PageSizeD.PageCount⒏Application_OnStart事件与Session_OnStart事件哪个先执行? AA.前者B.后者⒐当用TextStream对象打开一个文本文件时,便得到一个TextStream对象的实例,不妨称为TX。

使用这个实例来读取文件,或者是往文件里写入信息。

那么此时TX指向哪里? BA.文件的开始B.刚写入的字符之后⒑若要在页面中创建一个图像超链接,要显示的图像为“my.jpg”,所链接的地址为:。

以下用法正确的是 B 。

A.<a href=””>my.jpg</a>B.<a htef=””><image src=”my.jpg”></a>C.<image scr=”my.jpg”><a href=””></a>D.<a href=””><image src=”my.jpg”>二、填空题(2×10=20分)⒈利用ADO实现数据库操作时,ASP的 Recordset 对象用来浏览和操作已经连接的数据库内的数据。

网络编程期末考试带答案

网络编程期末考试带答案

1、计算机网络:是指将地理位置不同且具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统.2、协议分层具有概念化和结构化的优点,每一层都建立在它的下层之上,使用它的下层提供的服务,下层对它的上层隐藏服务实现的细节。

3、一个机器上的第n层与另一个机器上的第n层交流,所使用的规则和协定合起来被称为第n层协议。

这里的协议,是指通信双方关于如何进行通信的一种约定,每个协议属于某个层次。

特定系统所使用的一组协议被称为协议栈。

4、OSI/RM(Open System Interconnection/ReferenceModel,开放系统互连参考模型)将计算机网络通信定义为一个七层框架模型。

OSI模型中各个层的功能:5、TCP/IP参考模型TCP/IP协议族TCP/IP模型OSI模型6、TCP(传输控制协议),TCP提供端到端的质量保证的数据传输,该层负责数据的分组、质量控制和超时重发等,对于应用层来说,就可以忽略这些工作。

7、UDP(用户数据报协议),UDP则只负责简单地把数据报从一端发送到另一端。

在TCP/IP中,网络应用程序使用两个信息来唯一标识一个特定的应用程序:IP地址和端口号。

8、TCP/UDP协议簇的应用层协议包括finger(用户信息协议)、文件传输协议(FTP)、超文本传输协议(HTTP)、Telent(远程终端协议)、简单邮件传输协议(SMTP)、因特网中继聊天(IRC)、网络新闻传输协议(NNTP).9、网络应用程序使用两个信息来唯一标识一个特定的应用程序:IP地址和端口号。

10、每个IP地址被分割成前缀和后缀两部分11、网络地址转换(NetworkAddressTranslation,NAT):是接入广域网(WA N)的一种技术,能够将私有(保留)地址转化为合法的IP地址,它被广泛应用于各种Inter net接入方式和各种类型的网络中。

《网络编程技术》模拟试题2及参考答案

《网络编程技术》模拟试题2及参考答案

及参考答案《网络编程技术》模拟试题2及参考答案分)一、单项选择题(每小题2分,共30分)1、在以下标记中,用于设置页面标题的是_________________。

A、<title> B、<caption> C、<head> D、<html> 2、下面关于编写ASP程序,说法不正确的是_________。

A、<%和%>符号不能和ASP语句放在一行语句放在一行B、ASP语句必须分行写,不能将多条ASP语句写在一行里语句写在一行里C、使用REM或"`"符号来标记注释语句符号来标记注释语句D、在ASP程序中,字母不分大小写程序中,字母不分大小写3、使用_________语句可以立即从Sub过程中退出,程序继续执行调用Sub过程的语句之后的语句。

后的语句。

A、Exit Sub B、Exit C、</sub> D、Loop 4、下面不属于变量子类型的有_________。

A、Empty表示数据未被初始化表示数据未被初始化B、Integer表示-32,768到32,767之间的整数之间的整数C、Single单精度浮点数,而Double表示双精度浮点数表示双精度浮点数D、String表示字符串数值,字符串的最大长度可为200个字符个字符5、下面不属于Request对象的集合成员的是_________。

A、Cookies B、Form C、QueryString D、Server 6、下面哪种方法不能实现页面跳转的效果_________。

A、Response.Redirect方法方法方法 B、Server.Transfer方法C、Server.Execute方法方法方法 D、HTMLEncode方法7、下面关于脚本延时的时间期限,说法不正确的是_________。

A、脚本运行超过ScriptTimeout属性设置时间将作超时处理属性设置时间将作超时处理B、超时处理时会中止没有完毕的响应并提示超时错误信息、超时处理时会中止没有完毕的响应并提示超时错误信息C、如果设置的ScriptTimeout属性值小于默认值,则以设置值为准属性值小于默认值,则以设置值为准D、脚本可以设置为永不过期、脚本可以设置为永不过期8、下面可打开文件的方法有_________。

java网络编程试卷及答案

java网络编程试卷及答案

java网络编程试卷及答案A1、Java网络程序位于TCP/IP参考模型的哪一层?(B)a) 网络层互联层b) 应用层c) 传输层网络d) 主机-网络层2、以下哪些协议位于传输层?(A D)a) TCP b) HTTP c) SMTP d) UDP f)IP3、一个服务器进程执行以下代码:ServerSocket serverSocket=new ServerSocket(80);Socket socket=serverSocket.accept(); int port=socket.getPort();以下哪些说法正确?(A C D)a) 服务器进程占用80端口。

b) socket.getPort()方法返回服务器进程占用的本地端口,此处返回值是80。

c) 当serverSocket.accept()方法成功返回,就表明服务器进程接收到了一个客户连接请求。

d) socket.getPort()方法返回客户端套节字占用的本地端口。

4、在客户/服务器通信模式中,客户与服务器程序的主要任务是什么?(B C)a) 客户程序在网络上找到一条到达服务器的路由。

b) 客户程序发送请求,并接收服务器的响应。

c) 服务器程序接收并处理客户请求,然后向客户发送响应结果。

d) 如果客户程序和服务器都会保证发送的数据不会在传输途中丢失。

1、B 2、A D 3、A C D 4、B C二、填空题(邮件)1、名词解释SMTP:()2、主要的SMTP命令SMTP命令说明()指明邮件发送者的主机地址()指明邮件接收者的邮件地址()表示接下来将发送邮件内容1、简单邮件传输协议2、HELP/EHLO MAIL FROM ECPT TO DATA三、简答题(线程池)写出五种使用线程池时应注意的事项,并进行简要说明?线程池可能会带来种种风险:1.死锁2.系统资源不足3.并发错误4.线程泄漏5.任务过载使用线程池时需要遵循以下原则:(1)如果任务A在执行过程中需要同步等待任务B的执行结果,那么任务A不适合加入到线程池的工作队列中。

java网络编程基础习题+部分答案

java网络编程基础习题+部分答案

Java网络编程复习题一、选择题(1)下列哪个选项是合法的标识符?A)123 B)_nameC)class D)1first(2)下列哪个选项是Java调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?A)java.exe B)javadoc.exeC)jdb.exe D)javaprof.exe(3)下列关于Frame类的说法不正确的是A)Frame是Window类的直接子类B)Frame对象显示的效果是一个窗口C)Frame被默认初始化为可见D)Frame的默认布局管理器为BorderLayout(4)下列Java常见事件类中哪个是鼠标事件类?A)InputEvent B)KeyEventC)MouseEvent D)WindowEvent(5)下列的哪个选项可以正确用以表示八进制值8?A)0x8 B)0x10C)08 D)010(6)下列的哪个赋值语句是不正确的?A)float f = 11.1; B)double d = 5.3E12;C)float d = 3.14f ; D)double f=11.1E10f;(7)在Applet的关键方法中,下列哪个方法是关闭浏览器以释放Applet占用的所有资源?A)init()B)start()C)paint()D)destroy()(8)下列哪个是面向大型企业级用容器管理专用构件的应用平台?A)J2EE B)J2MEC)J2SE D)J2DE(9)下列哪个选项的java源文件代码片段是不正确的?A)package testpackage; B)import java.io.*;public class Test{ } package testpackage;public class Test{ }C)import java.io.*; D)import java.io.*;class Person{ } import java.awt.*;public class Test{ } public class Test{ }(10)在Java中,负责对字节代码解释执行的是()。

20春广东开放大学终结性网络编程技术参考答案资料

20春广东开放大学终结性网络编程技术参考答案资料

20春广东开放大学终结性网络编程技术参考答案资料网络编程技术-复习题1一、单项选择题1.下面哪一个表达式的返回值为True( )A.!(3<=1)B.(1!=2)&&(2<0)C.!(20>3)D.(5!=3)&&(50<10)2、以下( B )变量名是非法的。

A、 num_1B、 2_numC、 sumD、 de2$f3.下列JavaScript的声明变量语句中()是正确的。

A.int i =10;B.var i;j;k =10;C.int i;j;k =10;D.var i =10;答案:D4 下列语句中,(A )语句根据表达式的值进行匹配,然后执行其中的一个语句块。

如果找不到匹配项,则执行默认语句块。

A、 switchB、 if-elseC、 forD、字符串运算符5.要检测值是否为NaN,应使用()函数。

A.NumberB.parseIntC.IsNaND.isNaN答案:D6 在JavaScript中,运行以下代码:var flag=true;document.write(typeof(flag));返回值是( D )。

A、 undefinedB、 nullC、 numberD、 boolean7.下列JavaScript的循环开始语句中()是正确的。

A.for(var i<=10;i++)B.for(var i =0;i<=10)C.for var i =1to10D.for(var i =0;i<=10;i++)答案:D8、 JavaScript是 B 。

A、一种Java 编程语言,不同的是它可以用于网页开发B、一种解释性的、用于客户端的、基于对象的程序开发语言C、一种用于Mozilla的Firefox浏览器和Microsoft的Internet Explorer浏览器的网页开发语言D、一种用于制作网页动画效果的程序开发语言9.下列选项中,()不是网页中的事件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华清远见嵌入式学院第二学期期中考试
一、选择题(10题,每题2分,共20分)
1.如果进程A调用fork函数,创建进程B,然后进程B再调用fork函数,创建
进程C,进程C调用exec执行新的程序,那么各个进程将以什么顺序来执行:( D )。

[A] 以A、B、C的顺序执行
[B] 以C、B、A的顺序执行
[C] 以B、C、A的顺序执行
[D] 无固定执行顺序
2.以下对早期ARPAnet的描述不正确的是 ( D )
[A] 使用NCP协议 [B] 不能互联不同类型的计算机
[C] 没有纠错功能 [D] 可以互联不同类型的操作系统
3.Internet中的世界语是 ( C )
[A] TCP [B] IP [C] TCP/IP [D] http
4.以下不属于socket的类型的是 ( D )。

[A] 流式套接字
[B] 数据报套接字
[C] 原始套接字
[D] 网络套接字
5.以下关于socket的描述错误的是 ( C )
[A] 是一种文件描述符
[B] 是一个编程接口
[C] 仅限于TCP/IP
[D] 可用于一台主机内部不同进程间的通信
6.路由器是根据哪一层的信息为数据包选择路由 ( C )
[A] 物理层 [B] 数据链路层 [C] 网络层 [D] 传输层
7.为了解决在不同体系结构的主机之间进行数据传递可能会造成歧义的问题,以
下( A )函数常常用来在发送端和接收端对双字节或者四字节数据类型进行字节序转换。

[A] htons()/htonl()/ntohs()/ntohl()
[B] inet_addr()/inet_aton()/inet_...
[C] gethostbyname()/gethostbyaddr()
[D] (struct sockaddr *)&(struct sockaddr_in类型参数)
8.在实现基于TCP的网络应用程序时,服务器端正确的处理流程是( C )
[A] socket() -> bind() -> listen() -> connect() -> read()/write() -> close()
[B] socket() -> bind() -> listen() -> read()/write() -> close()
[C] socket() -> bind() -> listen() -> accept() -> read()/write() -> close()
[D] socket() -> connect() -> read()/write() -> close()
9.只用于同一主机内部进程间通信的socket应使用的协议族是 ( B )
[A] AF_INET [B] AF_UNIX [C] AF_NS [D] AF_IMPLINK
10.以下哪个协议不是用在网络层的 ( D )
[A] IGMP [B] IP [C] ICMP [D] SMTP
二、判断题(15题,每题1分)
1.信号是一种同步通讯方式 ( F )
2.可以使用signal()来给同一进程组中的所有进程发送信号 ( F )
3.从一个空FIFO中读取数据时会发生阻塞,但从一个空PIPE中读取数据时不会
发生阻塞 ( F )
4.IP地址均为32位 ( F )
5.大端序表示高位字节存储在高地址 ( F )
6.bind()函数用于将套接字和某个地址绑定 ( T )
7.connect()函数既可以用于TCP,也可以用于UDP ( T )
8.每个套接字最多只能connect一次 ( F )
9.为了区分一台主机接收到的网络数据包应该递交给哪个套接字来处理,要根据
端口号 ( T )
10.无论是TCP socket,还是UDP socket,它们的服务器端必须调用bind()函数
来绑定一个地址,这样客户端才可以和服务器端通信 ( T )
11.发送一个UDP数据报,必须使用sendto()函数 ( F )
12.当inet_addr(char *address)的参数address包含不合法的IP地址时,函数
返回0 ( F )
阅读以下程序,完成13-15题。


listenfd = socket(…);
bind(listenfd,…);
listen(listenfd,…);
for ( ; ; ) {
connfd = accept(listenfd, …);
if (( pid = fork( )) == 0)
{
recv(connfd,…);
send(connfd,…);
}
else exit(0);
}
13.这是一个并发服务器。

( F )
14.在任何时候,该服务器只能处理一个客户端的请求。

( T )
15.随着服务器端接受越来越多的请求,connfd的值变得越来越大。

( T )
三、简答题(5题,每题5分,共25分)
1.如何在并发程序中避免僵尸进程?(父进程不阻塞,不轮询,描述思路或写出代
码)
方式一:在父进程中忽略SIGCHLD信号
方式二:在父进程中捕捉SIGCHLD信号,并在信号处理函数中用waitpid回收子进程
2.两个线程分别读写同一个缓冲区,初始时缓冲区中无数据。

( read() //读缓冲区 write() //写缓冲区 sem_t //信号量类型 void init_sem(sem_t *s, int value) // 初始化信号量s的值为value
void p(sem_t *s) // 对信号量s进行p操作
void v(sem_t *s) // 对信号量s进行v操作)
①定义需要的信号量并初始化
sem_t s_r, s_w;
init_sem(&s_r, 0);
init_sem(&s_w, 1);
②写线程写缓冲区的代码
p(&sem_w);
write();
v(&sem_r);
③读线程读缓冲区的代码
p(&sem_r);
read();
v(&sem_w);
3. 简述TCP和 UDP的异同点
相同点:都是传输层协议
不同点:tcp协议面向连接,提供可靠的传输;udp协议无连接,不保证可靠的传输
4.什么是高可靠性通信?
数据无错误、数据无丢失、数据无失序、数据无重复到达
5.简述UNIX/Linux下主要的四种IO模型的特点
阻塞式IO :最简单、最常用;效率低
非阻塞式IO :可以处理多路IO;需要轮询,浪费CPU资源
IO多路复用:同时出路多路IO且不需要轮询
信号驱动IO :异步通知模式,需要底层驱动的支持
四、综合题(3题,共40分,编程题可省略头文件)
1. 什么是网络体系结构?画出OSI和TCP/IP参考模型的对应关系图(包括每层常用的协议或应
2.编写一个TCP并发服务器端程序,可以把客户端发来的消息回射给客户端 (15
分)
3.编写UDP程序,通过多路IO复用同时处理标准输入和套接字。

当输入为quit
时程序结束;当通过套接字收到对方消息时回射给对方 (15分)
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeval);
void FD_CLR(int fd, fd_set *set);
int FD_ISSET(int fd, fd_set *set);
void FD_SET(int fd, fd_set *set);
void FD_ZERO(fd_set *set);。

相关文档
最新文档