《网络程序设计》复习题2

合集下载

《网络程序设计》期末考试复习题及参考答案

《网络程序设计》期末考试复习题及参考答案

网络程序设计复习题(课程代码 252284)一.选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A. javaB. classC. htmlD. exe2、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( )。

A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。

A. start( )B. stop( )C. init( )D. paint( )4、不允许作为类及类成员的访问控制符的是( )。

A. publicB. privateC. staticD. protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )6、下列浏览器中,可以运行HTML中的Applet,而忽略其他HTML命令的是( )。

A. Netscape 3.0B. Internet Explorer5.0C. Hot JavaD. Appletviewer7、以下哪一个不是JA V A的标准数据流( )。

A. 标准输出数据流B. 标准输入数据流C. 标准错误数据流D. 标准运算数据流8、下面声明数组的写法错误()。

A. int a[ ]; B: int[ ] a;C: int[ ][ ] a[3][ ]; D; int[ ][ ] a[ ][3];9: 设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char 型变量,则表达式x+y*a/x+b/y+c的值为( )类型。

网络程序设计(JAVA)习题及参考答案

网络程序设计(JAVA)习题及参考答案

网络程序设计(JAVA)习题及参考答案《网络程序设计》(JAVA)复习题一、填空题1、Java源文件和编译后的字节码文件扩展名分别是________和________。

2、定义方法时,如果方法不返回任何结果,则方法返回类型写为________。

3、Java中的数据类型分两大类,分别为________和________。

4、字符和字符串常量分别用________和________引起来。

5、退出循环用________语句,继续新一次循环用________语句,从方法返回用用________语句。

6、类由________和________两部分组成。

7、类的继承和接口的实现分别用关键字________和________表示。

8、类成员的访问控制符可以是________、protected、默认和________。

9、集合类和输入/输出流类分别在________和________包中。

10、实现线程有两种方法,继承________类和实现________接口。

11、根据结构组成和运行环境的不同,JAVA程序可以分为两类:________和___________。

12、多态有________和_______两种表现形式。

13、Java构造数据类型有三种________、___________和___________。

14、通过类名直接调用的方法前要加修饰符___________。

15、单行注释和块注释分别用___________和___________表示。

16、表示字符串常量和变量的类分别是___________和___________。

17、假设int x=5,则表达式x++和++x的值分别为___________和___________。

18、构造方法调用本类其他构造方法和父类构造方法分别用___________和___________语句。

19、final类不能被___________,final方法不能被___________。

计算机网络程序设计复习题

计算机网络程序设计复习题

计算机0901、0902、0903、0981《网络程序设计》(java)考试复习题(李远辉老师编写)第一大题(20小题,选其中10题考试共10分)缩写词(参见书本附录缩写词列表)缩写词英文中文CGICSSHTMLHTTPIDEJDBCJDKJNDIJVMMVCPDFSQLSSLURLWARW3CXHTMLXMLXSLXSD第二大题(15小题,选其中5题考试共20分)第1题一个程序员为他的Java EE web应用(名为MyWebApp)建立了一个配置正确的目录结构。

可以将一个名为myTag.tag的文件放在其中哪两个目录中从而能够由容器正确地访问?(有两个选择)□ A. MyWebApp/WEB-INF□ B. MyWebApp/META-INF□ C. MyWebApp/WEB-INF/lib□ D. MyWebApp/WEB-INF/tags□ E. MyWebApp/WEB-INF/TLDs□ F. MyWebApp/WEB-INF/tags/myTags第2题以下哪些是合法的EL?(选出所有正确的答案)□ A. ${“1”+”2”}□ B. ${1 plus 2}□ C. ${1 eq 2}□ D. ${2 div 1}□ E. ${2 & 1}□ F. ${“head”+”first”}第三题比较业务委托对象和服务定位器对象的优点、局限性和用法时,以下哪些说法是正确的?(选出所有正确的答案)□ A.它们都有可能建立网络调用□ B.它们都有可能调用传输对象中的方法□ C.它们都有可能由一个控制器对象直接调用□ D.服务定位器通常可以认为是业务委托的一个服务器□ E.如果实现时都建立了缓存,那么数据过时问题对于业务委托来说更为严重第四题关于创建会话监听者,以下哪些说法是正确的?(选出所有正确的答案)□ A. 它们都在DD中声明。

□ B. 并不是所有会话监听者都必须在DD中声明。

□ C. 用来声明会话监听者的DD标记是<listener>□ D. 用来声明会话监听者的DD标记是<session-listener>□ E. 用来声明会话监听者的DD标记放在<web-app>标记中。

网络程序设计复习题(带答案)

网络程序设计复习题(带答案)

网络程序设计复习题1、为了实现网络的互联,互联网技术必须保证使用不同硬件结构的计算机能够进行通信适用于多种不同的操作系统、能够使用多种分组交换网络硬件2、因特网体系结构委员会的英文简称是ICCB3、协议的实现要落实到一个个具体的硬件模块和软件模块上,在网络中将这些实现特定功能的模块称为实体4、连接控制、流控制、报文分段等属于传输层功能5、IP数据报协议标识字段指明了IP数据报封装的协议,当标识字段为 6 时表示封装的是TCP协议6、ICMP报文不包括地址解析报文7、套接字是指IP地址和端口号的组合。

8、SOCKET编程中的全相关是指源端口号、目的端口号、源IP、目的IP、协议9、IP分组的中的TTL值描述,每经过一个路由器,它的值会减1是正确的10、TELNET通过TCP/IP协议模块在客户机和远程登录服务器之间建立一个TCP11、以下提供可靠服务不是UDP协议的特性12、虚拟局域网通常采用交换机端口号、MAC地址、网络层地址或IP广播组地址定义13、办公自动化服务不是网络操作系统提供的服务14、分析IP数据报所携带的TCP内容不是IP路由器应具备的主要功能15、java当中网络编程的接口是在java。

net包当中提供的。

16、会话的建立、维护和交互过程中的同步等属于会话层功能17、在网络层,IP模块根据IP数据报首部中的协议值决定将数据报中的数据交给哪一个模块去处理,当协议值为17,应将数据交给UDP模块处理18、ARP请求帧在物理网络中是以广播方式发送的19、ICMP在重组定时器超时情况下会产生数据报超时报告。

20、回应请求与应答报文的目的是对网络进行诊断和测试,使用它可以了解设备的可达性21、网络的功能主要由各层的协议来完成,互联网技术经过多年的发展形成了现在的TCP/IP协议。

22、为了保证网络的各个功能的相对独立性,以及便于实现和维护,通常将协议划分为多个子协议,并且让这些协议保持一种层次结构,子协议的集合通常称为协议簇。

2-网络程序设计复习题2-10计科-参考答案

2-网络程序设计复习题2-10计科-参考答案

网络程序设计复习题二1、是一个网络层的协议,它提供了错误报告和其它回送给源点的关于IP 数据报处理情况的消息ICMP2、IP协议的特征是不可靠,无连接3、TCP和UDP协议的相似之处传输层协议4、以下关于TCP滑动窗口说法正确的是滑动窗口机制的窗口大小是可变,从而更加有效利用带宽5、端口号的目的跟踪同一时间网络中的不同连接6、假定您在华为为Quidway路由器上配置了静态域名解析(DNS禁用),使用什么命令查看您配置的域名解析表?show dns7、TFTP服务器使用何种传输层协议,端口号多少?UDP 698、24、服务器一般都是通过特定的端口号来识别应用程序的,这些特定的端口号由IANA统一管理。

请问IANA管理的端口号范围是什么?1~10239、Internet采用的路由选择协议分为和两类。

内部网关协议;外部网关协议10、IP协议是TCP/IP协议簇中的,提供数据传输的最基本服务,是实现网络互联的。

核心协议;基本协议11、socket()函数的返回值是类型。

整数12、由于协议簇中的协议具有上下层关系,由此有称其为。

协议栈13、封装ARP报文时帧类型填,封装RARP报文时帧类型填0x0806;0x803514、BGP是用于不同自治系统之间交换路由信息的。

外部网关协议15、DNS服务器能够接收两种类型的解析:递归解析和解析。

反复16、WinSock编程中需要哪些文件?1)Winsock.dll:winsock.dll是Windows Sockets应用程序接口,用于支持很多Internet和网络相关应用程序。

2)Ws2_32.lib:32位windows socket,版本2用来实现socket网络操作的静态库。

该库对应ws2_32.dll,提供了对以下网络相关API的支持,若使用其中的API,则应该将ws2_32.lib加入工程(否则需要动态载入ws2_32.dll)3)Winsock2.h:winsock版本2头文件,里面包含一些系统定义的宏。

网络程序设计复习题(带答案)

网络程序设计复习题(带答案)

网络程序设计复习题1、为了实现网络的互联,互联网技术必须保证使用不同硬件结构的计算机能够进行通信适用于多种不同的操作系统、能够使用多种分组交换网络硬件2、因特网体系结构委员会的英文简称是ICCB3、协议的实现要落实到一个个具体的硬件模块和软件模块上,在网络中将这些实现特定功能的模块称为实体4、连接控制、流控制、报文分段等属于传输层功能5、IP数据报协议标识字段指明了IP数据报封装的协议,当标识字段为 6 时表示封装的是TCP协议6、ICMP报文不包括地址解析报文7、套接字是指IP地址和端口号的组合。

8、SOCKET编程中的全相关是指源端口号、目的端口号、源IP、目的IP、协议9、IP分组的中的TTL值描述,每经过一个路由器,它的值会减1是正确的10、TELNET通过TCP/IP协议模块在客户机和远程登录服务器之间建立一个TCP11、以下提供可靠服务不是UDP协议的特性12、虚拟局域网通常采用交换机端口号、MAC地址、网络层地址或IP广播组地址定义13、办公自动化服务不是网络操作系统提供的服务14、分析IP数据报所携带的TCP内容不是IP路由器应具备的主要功能15、java当中网络编程的接口是在包当中提供的。

16、会话的建立、维护和交互过程中的同步等属于会话层功能17、在网络层,IP模块根据IP数据报首部中的协议值决定将数据报中的数据交给哪一个模块去处理,当协议值为17,应将数据交给UDP模块处理18、ARP请求帧在物理网络中是以广播方式发送的19、ICMP在重组定时器超时情况下会产生数据报超时报告。

20、回应请求与应答报文的目的是对网络进行诊断和测试,使用它可以了解设备的可达性21、网络的功能主要由各层的协议来完成,互联网技术经过多年的发展形成了现在的TCP/IP协议。

22、为了保证网络的各个功能的相对独立性,以及便于实现和维护,通常将协议划分为多个子协议,并且让这些协议保持一种层次结构,子协议的集合通常称为协议簇。

网络程序设计基础复习题

网络程序设计基础复习题

网络程序设计基础复习题网络程序设计基础复习题练习一一、选择题1.静态网页的扩展名一般是(A)。

A.htmB.phpC.aspD.jsp2.小王正在家里通过拨号上网访问搜狐主页,此时,他自己的计算机是(B)。

A. 客户端B. 既是服务器端又是客户端C. 服务器端D. 既不是服务器端也不是客户端3.对于request对象,如果省略获取方法,如request(“username”),将按什么顺序依次检查是否有信息传入(C)A.Form、Querystring、Cookies、Server Variables、ClientCertificateB.Querystring、Form、Cookies、Server Variables、ClientCertificateC.Cookies、Querystring、Form、Server Variables、ClientCertificateD.Form、Querystring、Cookies、ClientCertificate、 Server Variables4.下面程序执行完毕,页面上显示的是什么内容(B)<%Reponse.write server.HTMLEncode(“搜狐”) %>A.搜狐 B.搜狐C.搜狐 D.该句有误,无法输出5.HTML中用什么标记表示表格的一行?(CD)A. 和B. 和C. 和D.和6.执行语句a=Int(10 * Rnd())后,则a的值不可能出现的有?(B)A. 0B. 1C. 10D. 117.如果在一个asp文件中添加Server.ScriptTimeout=300,接着又在另一个asp文件中添加c=Server.ScriptTimeout,请问c等于多少秒(A)A.60 B.90 C.300 D.以上都不对8.执行语句a="2008-8-8"后,变量a的数据子类型是?(ABC)A. 字符串B. 日期C. 数值D. 布尔9.要在tbAddress表中插入记录,下面哪条语句是正确的?(A)A. Insert Into tbAddress(strName,strTel) Values("萌萌","6545632")B. Insert Into tbAddress(strName,strEmail) Values("萌萌", "")C. Insert Into tbAddress(strName,strEmail) Values("萌萌",NULL)D. Insert Into tbAddress(strName,intAge) Values(萌萌,22)10.假设变量a=5、b=3,则执行语句c="a>b"后,变量c的数据子类型是?A. 字符串B. 日期C. 数值D. 布尔二、简答题1.请简述什么是静态网页?什么是动态网页?答:静态网页——所谓静态网页,就是说该网页文件里没有程序代码,只有HTML标记,这种网页的扩展名一般是.htm或.html。

网络程序设计试题答案高中

网络程序设计试题答案高中

网络程序设计试题答案高中网络程序设计是高中信息技术课程中的重要组成部分,它不仅涉及编程语言的学习,还包括网络通信原理、数据结构、算法等知识的综合应用。

本篇文章将对网络程序设计的相关试题进行详细解答,帮助学生更好地理解和掌握网络程序设计的基本概念和技能。

一、选择题1. 在网络程序设计中,HTTP协议通常用于:A. 文件传输B. 电子邮件发送C. 网页浏览D. 远程登录答案:C. 网页浏览2. 下列哪个选项不是TCP/IP协议族中的层级?A. 应用层B. 传输层C. 表示层D. 网络接口层答案:C. 表示层3. 以下哪种数据结构适合用于存储大量不经常变动的数据?A. 链表B. 栈C. 队列D. 树答案:D. 树二、填空题1. 在网络通信中,DNS的作用是将________转换为________。

答案:域名;IP地址2. 一个标准的IP地址由四组数字组成,每组数字的范围是________到________。

答案:0;255三、简答题1. 请简述HTTP和HTTPS的区别。

答案:HTTP(超文本传输协议)和HTTPS(超文本传输安全协议)都是用于传输网页数据的协议。

二者的主要区别在于HTTPS在HTTP的基础上增加了SSL/TLS加密层,可以对数据进行加密传输,提高了数据传输的安全性。

2. 描述TCP和UDP协议的主要区别。

答案:TCP(传输控制协议)和UDP(用户数据报协议)都是传输层协议,用于在网络中传输数据。

TCP提供可靠的、面向连接的服务,它保证数据的顺序和完整性,适用于需要高可靠性的应用,如网页浏览、文件传输等。

UDP则是无连接的、不可靠的传输协议,它不保证数据的顺序和完整性,但传输速度快,延迟低,适用于实时性要求高的应用,如在线视频、VoIP等。

四、编程题1. 编写一个简单的HTTP服务器程序,能够响应客户端的GET请求,并返回“Hello, World!”。

```pythonfrom http.server import HTTPServer, BaseHTTPRequestHandlerclass SimpleHTTPServer(BaseHTTPRequestHandler):def do_GET(self):self.send_response(200)self.send_header('Content-type', 'text/html')self.end_headers()self.wfile.write(b"Hello, World!")httpd = HTTPServer(('localhost', 8000), SimpleHTTPServer) httpd.serve_forever()```答案:以上是一个使用Python编写的简单HTTP服务器程序。

《网络程序设计》期末总复习-最新版-苏大知识讲解

《网络程序设计》期末总复习-最新版-苏大知识讲解

《网络程序设计》期末总复习-最新版-苏大前言:陆老师:“附件中为经修改、增添内容后的最新《网络程序设计总复习题》,请转发全班同学,以复习这个为准,考试也已这个为准。

另外,考试的读程序部分,要求能读懂Linux Berkeley Socket编写的程序、Windows Winsock编写的程序,其中Windows MFC程序要求能读懂书上的对话框界面的Talkc程序中的各个类的程序编写,也请转告各位同学。

祝你们全班都能考个好成绩。

陆建德,即日”第一章网络编程基础1.实现网间进程通信必须解决哪些问题?答:(1)网间进程的标识问题;(2)如何与网络协议栈连接的问题;(3)协议的识别问题;(4)不同的通信服务的问题2. 说明TCP/IP中,端口的概念和端口的分配机制。

答:端口是TCP/IP协议族中,应用层进程与传输层协议实体间的通信接口。

TCP/IP协议采用了全局分配(静态分配)和本地分配(动态分配)相结合的分配方法。

对于TCP,或者UDP,将它们的全部65535个端口号分为保留端口号和自由端口号两部分。

保留端口的范围是0—1023,又称为众所周知的端口或熟知端口(well-known port),其余的端口号,1024-65535,称为自由端口号,采用本地分配,又称为动态分配的方法。

总之,TCP或UDP端口的分配规则是:端口0:不使用,或者作为特殊的使用;端口1-255:保留给特定的服务,TCP和UDP均规定,小于256的端口号才能分配给网上著名的服务;端口256-1023:保留给其他的服务,如路由;端口1024-4999:可以用作任意客户的端口;端口5000-65535:可以用作用户的服务器端口。

3. 什么是网络应用进程的网络地址?说明三元组和五元组的概念。

答:(传输层协议,主机的IP地址,传输层的端口号)标识了因特网中,进程间通信的一个端点,也把它称为网络应用进程的网络地址。

(传输层协议,主机的IP地址,传输层的端口号),这样一个三元组,叫做一个半相关(half-association)。

《网络程序设计》期末考试复习题及参考答案

《网络程序设计》期末考试复习题及参考答案

《网络程序设计》期末考试复习题及参考答案网络程序设计复习题(课程代码 252284)一.选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A. javaB. classC. htmlD. exe2、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( )。

A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。

A. start( )B. stop( )C. init( )D. paint( )4、不允许作为类及类成员的访问控制符的是( )。

A. publicB. privateC. staticD. protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )6、下列浏览器中,可以运行HTML中的Applet,而忽略其他HTML命令的是( )。

A. Netscape 3.0B. Internet Explorer5.0C. Hot JavaD. Appletviewer7、以下哪一个不是JA V A的标准数据流( )。

A. 标准输出数据流B. 标准输入数据流C. 标准错误数据流D. 标准运算数据流8、下面声明数组的写法错误()。

A. int a[ ]; B: int[ ] a;C: int[ ][ ] a[3][ ]; D; int[ ][ ] a[ ][3];9: 设x为float型变量,y为double型变量,a为int型变量,b 为long型变量,c为char 型变量,则表达式x+y*a/x+b/y+c的值为( )类型。

大学网络程序设计期末考试复习资料

大学网络程序设计期末考试复习资料

网络程序设计JK212007——在线考试复习资料2021版一、单选题1.对于函数int pcap_compile(pcap_t*p,struct bpf_program*fp,char*str,int optimize,bpf_u_int32netmask);其第三个参数char*str作用是:()A.指定本地网络的子网掩码。

B.高层的过滤表达式C.用于控制结果代码的优化D.为pcap_setfilter()传递过滤信息。

答案:B2.pcap_loop()函数中参数设置的回调函数packet_handler(u_char*param,const struct pcap_pkthdr*header,const u_char*pkt_data)中第三个参数作用是:()A.指定一个打开的WinPcap会话,并在该会话中采集数据包。

B.表示接收到的数据包头。

C.在pcap_loop()函数中指定的参数user。

D.接收到的数据包内容。

答案:D3.下面哪个函数能获得设备列表?()A.gethostbyname(B.GetAdaptersInfo()C.pcap_freealldevs()D.pcap_findalldevs_ex()答案:D4.对于完成端口模型,BOOL GetQueuedCompletionStatus(HANDLE CompletionPort,LPDWORD lpNumberOfBytes,LPDWORD lpCompletionKey, LPOVERLAPPED*lpOverlapped,DWORD dwMilliseconds)函数,投递的重叠操作完成对应套接字句柄通过哪个参数可以获得。

A.LPDWORD lpNumberOfBytesB.LPDWORD lpCompletionKeyC.LPOVERLAPPED*lpOverlappedD.DWORD dwMilliseconds答案:B5.哪种网络通信模型是实现高容量网络服务器的最佳方法。

《网络程序设计》复习题及答案

《网络程序设计》复习题及答案
30.下列方法中建议使用的是:
A、stop() B、supend() C、restume() D、wait()
31.如果希望所有的控件在界面上均匀排序,就使用下列哪种布局管理器?
A、BosLayout B、GridLayout C、BorderLayout D、FlowLayout
32.在一个MVC用户界面中,存在三个通讯对象,其中_________是指定的逻辑表示法。
{
Thread t=new Thread(new X());
t.start();
}
}
A第一行会产生编译错误
B第六行会产生编译错误
C第六行会产生运行错误
D程序会运行和启动
37.要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合?
A FileInputStream in=new FileInputStream("file.dat"); in.skip(9); int c=in.read();
}
}
那个语句是正确的?
A编译时将产生错误;
B编译时正确,运行时将产生错误;
C输出零;
D输出空。
40.哪个关键字可以对对象加互斥锁?
A transient
B synchronized
C serialize
D static
41.下列哪些语句关于内存回收的说明是正确的?
A程序员必须创建一个线程来释放内存;
public class operatorsandExpressions{
void stringPlus(){
int a=3,b=4,c=5;
System.out.println("abc"+3);

网络程序设计复习题(带答案)

网络程序设计复习题(带答案)

网络程序设计复习题1、为了实现网络的互联,互联网技术必须保证使用不同硬件结构的计算机能够进行通信适用于多种不同的操作系统、能够使用多种分组交换网络硬件2、因特网体系结构委员会的英文简称就是ICCB3、协议的实现要落实到一个个具体的硬件模块与软件模块上,在网络中将这些实现特定功能的模块称为实体4、连接控制、流控制、报文分段等属于传输层功能5、IP数据报协议标识字段指明了IP数据报封装的协议,当标识字段为 6 时表示封装的就是TCP协议6、ICMP报文不包括地址解析报文7、套接字就是指IP地址与端口号的组合。

8、SOCKET编程中的全相关就是指源端口号、目的端口号、源IP、目的IP、协议9、IP分组的中的TTL值描述,每经过一个路由器,它的值会减1就是正确的10、TELNET通过TCP/IP协议模块在客户机与远程登录服务器之间建立一个TCP11、以下提供可靠服务不就是UDP协议的特性12、虚拟局域网通常采用交换机端口号、MAC地址、网络层地址或IP广播组地址定义13、办公自动化服务不就是网络操作系统提供的服务14、分析IP数据报所携带的TCP内容不就是IP路由器应具备的主要功能15、java当中网络编程的接口就是在java、net包当中提供的。

16、会话的建立、维护与交互过程中的同步等属于会话层功能17、在网络层,IP模块根据IP数据报首部中的协议值决定将数据报中的数据交给哪一个模块去处理,当协议值为17,应将数据交给UDP模块处理18、ARP请求帧在物理网络中就是以广播方式发送的19、ICMP在重组定时器超时情况下会产生数据报超时报告。

20、回应请求与应答报文的目的就是对网络进行诊断与测试,使用它可以了解设备的可达性21、网络的功能主要由各层的协议来完成,互联网技术经过多年的发展形成了现在的TCP/IP协议。

22、为了保证网络的各个功能的相对独立性,以及便于实现与维护,通常将协议划分为多个子协议,并且让这些协议保持一种层次结构,子协议的集合通常称为协议簇。

最新网络程序设计复习题

最新网络程序设计复习题

1.TCP/UDP在传输层;IP在网络层;MAC在数据链路层2.NAT的实现方式有三种,即静态转换、动态转换和端口多路复用3.端口号是16位的,范围在0~655354.在套接字通信中,常用套接字类型包括三类:流式套接字、数据报套接字和原始套接字①流式套接字(其类型字段的值是SOCK_STREAM): 提供面向连接的、可靠的字节流服务,应用程序所访问的传输层协议是TCP协议。

②数据报式套接字(其类型字段的值是SOCK_DGRAM): 提供无连接的,不可靠的数据报服务,应用程序所访问的传输层协议是UDP协议。

③原始套接字(其类型字段的值是SOCK_RAW): 允许应用程序直接对较低层的协议,如IP、ICMP进行访问。

5.有状态服务器定义:保存状态信息的服务器优势:减少客户和服务器交换报文的大小;允许服务器快速相应请求无状态服务器定义:不保存任何状态信息的服务器优势:提高协议的可靠性6.并发服务器定义:在一个时刻只处理一个请求的服务器循环服务器定义:在一个时刻可以处理多个请求的服务器7.面向应用的网络编程方法(1)WinInet编程(2)基于WWW应用的网络编程(3)面向SOA的Web Service8.面向原始帧的网络编程方法(1)直接网卡编程技术(2)基于Packet Driver的网络编程方法(3)基于NDIS的网络编程(4)WinPcap编程9.UDP是无连接的;TCP是面向连接的意义:①决定了客户和服务器交互所采用的算法;②决定了下层系统所提供的可靠性等级;面向连接的服务器优点:易于编程缺点:资源消耗问题无连接的服务器优点:无资源消耗问题缺点:编程复杂10.bind和listen函数是非阻塞的11.B/S模型B/S(Browse/Server)模型也叫B/S模式,它是一种基于Web的通信模型,使用HTTP通信。

B/S是一种特殊的C/S模型,特殊之处就在于这种模型的客户端一般是某种流行的浏览器,例如,微软的Internet Explorer。

网络程序设计方法复习题

网络程序设计方法复习题

网络程序设计方法复习题一、填空题1、JA V A语言中,编写数据报通信程序,需要使用 package中的两个类:__________ 和 __________ 。

2、HTTP协议中,服务器端发送response响应时,首先发送的数据是 __________ 。

3、数据报通信程序中,需要发送的数据应该封装在类 __________ 的实例中。

4、TCP通信程序中,客户端需要使用 package中的类:__________。

5、包中支持应用层协议的三个主要的类,分别是:________、_________和HttpURLConnection类。

6、JA V A I/O流包括字节流和字符流,网络编程中常常需要把字节流转换为字符流。

输入流的转换需要用到java.io package 中的类:________,输出流的转换需要用到java.io package 中的类:________。

7、JA V A I/O流中,能够直接读、写各种基本数据类型数据的类是:__________ 和__________ 。

8、JA VA I/O流中,支持随机访问文件的类是:__________ 。

9、DatagramPacket类的如下构造方法:__________________________用于发送数据报。

10、Socket类的_________________方法返回Socket对象绑定的本地端口。

11、改变服务器Tomcat端口,需要修改__________配置文件。

12、JA V A语言中,用于启动线程的方法是__________。

13、JA V A语言中,可以用来为对象加互斥锁的关键字是__________。

14、Tomcat服务器的默认端口是__________。

15、定义一个表单时,form的action属性的值是用来表示:___________。

16、在JSP中,forward动作的作用是___________________。

网络程序设计-复习题

网络程序设计-复习题

选择题1. 通信子网由通信线路和()两部分组成。

A. 终端结点B. 转接结点C. 网络结点D. 通信结点答案:B2. 在TCP/IP参考模型中,TCP协议的协议数据单元指的是()。

A. TCP报文段B. TCP用户数据报C. TCP用户数据报载荷D. 来自应用层的数据答案:A3. 在OSI参考模型中,()层在两个相邻结点间无差错地传送以帧为单位的数据。

A. 物理层B. 数据链路层C. 传输层D. 网络层答案:B4. IP地址属于()。

A. 物理地址B. 逻辑地址C. 端口地址D. 特定应用地址答案:B5. URL属于()。

A. 物理地址B. 逻辑地址C. 端口地址D. 特定应用地址答案:D6. socket编程属于()。

A. 面向应用的网络编程B. 基于TCP/IP协议栈的网络编程C. 面向原始数据帧的网络编程D. 面向用户数据报的网络编程答案:B7. WinPcap编程属于()。

A. 面向应用的网络编程B. 基于TCP/IP协议栈的网络编程C. 面向原始数据帧的网络编程D. 面向用户数据报的网络编程答案:C8. 提出客户/服务器模型的目的是用来解决()。

A. 点到点通信B. 端到端通信C. 会聚点问题D. 中间人攻击答案:C9. 以下哪种网络应用适合选用流式套接字编程?()A. 文件下载B. 直播C. 广播D. DNS答案:A10. 原始套接字发送和接收数据的内容是()。

A. 应用层数据B. TCP或UDP报文C. IP分组D. 原始数据帧答案:C11. WinPcap不能用于()。

A. 捕获网络数据帧B. 发送网络数据帧C. 网络监测和统计D. 网络流量控制答案:D12. WinPcap不能用来开发()。

A. 网络防火墙B. 网络监视器C. 网络流量发生器D. 网络流量记录器答案:A填空题1. 计算机网络由和两部分构成。

答案:网络结点、通信线路2. 网络结点分为和两类。

答案:终端结点、转接结点3. 通信子网由和两部分构成。

网络程序设计复习资料

网络程序设计复习资料

第1章ASP程序设计概述1. 选择题(可多选)(1)静态网页的扩展名一般是:.AA.htm B .php C.asp D.jsp(2)ASP文件的扩展名是:.DA.htmB. txtC. docD. asp(3)当前的Web程序开发中通常采用什么模式?BA. C/SB. B/SC. B/BD. C/C(4)小王正在家里通过拨号上网访问搜狐主页,此时,他自己的计算机是:AA. 客户端B. 既是服务器端又是客户端C. 服务器端D. 既不是服务器端也不是客户端(5)小王正在访问自己计算机上的网页,此时,他自己的计算机是:.BA. 客户端B. 既是服务器端又是客户端C. 服务器端D. 既不是服务器端也不是客户端(6)ASP脚本代码是在哪里执行的?.CA. 客户端B. 第一次在客户端,以后在服务器端C. 服务器端D. 第一次在服务器端,以后在客户端(7)在以下URL中,从形式上看正确的是:.A B C DA. /history/1998/intro.aspB. /news/1.jpgC. ftp:// /history/1998/intro.aspD. ftp:///news/1.jpg(8)如果在chapter1下建立了一个子文件夹images,并且在其中放置了一个图片文件1.jpg,那么以下URL正确的是:.A BA. http://localhost/asptemp/chapter1/images/1.jpgB. http://127.0.0.1/asptemp/chapter1/images/1.jpgC. http://localhost/inetpub/wwwroot/asptemp/chapter1/images/1.jpgD. http://127.0.0.1/inetpub/wwwroot/asptemp/chapter1/images/1.jpg(9)对于1.5.5节建立的1-2.asp,以下浏览方式正确的是:.A B C DA. http://localhost/temp/1-2.aspB. http://127.0.0.1/temp/1-2.aspC. http://localhost/asptemp/chapter1/temp/1-2.aspD. http://127.0.0.1/asptemp/chapter1/temp/1-2.asp(10)以1.5.5节的示例为基础,假如现在在C:\inetpub\wwwroot\asptemp\chapter1\temp 下又建立了一个子文件夹temp,其中建立了一个ASP文件1-3.asp,则浏览方式正确的是:A. http://localhost/temp/temp/1-3.aspB. http://127.0.0.1/temp/temp/1-3.aspC. http://localhost/asptemp/chapter1/temp/temp/1-3.aspD. http://127.0.0.1/asptemp/chapter1/temp/temp/1-3.asp答案:A B C D第2章HTML基础知识1. 选择题(可多选).A D(1)HTML文档包含的两个部分是指:A. 文档头部B. 标题C. 注释D. 文档主体(2)HTML中的注释格式是:. BA. <!-- 注释内容--!>B. <!-- 注释内容-->C. <%-- 注释内容--%>D. <!-- 注释内容--%>(3)下列哪段语句将会以粗体、下划线显示?. ABA. <b><u>欢迎大家</u></b>B. <u><b>欢迎大家</b></u>C. <i><b>欢迎大家</b></i>D. <b><i>欢迎大家</i></b>(4)在HTML中,插入换行符用什么标记?. BA. <hr>B. <br>C. <p>D. Enter键(5)在HTML中,下面哪一种方法可以在网页上显示“<p>”? . BA. <p>B. &lt;p&gt;C. &nbsp;p&nbsp;D. \<p\>(6)如果希望使用实心方块作为符号列表前面的符号,type属性的取值应该为:A. CircleB. SquireC. DiscD.■答案: B(7)HTML中用什么标记表示表格的一行?. BA. <row>和</row>B. <tr>和</tr>C. <td>和</td>D. <table>和</table>(8)在表格中哪个属性用于设置文本水平对齐方式?. AA. alignB. valignC. topD. bottom(9)关于网页中的图像,下列说法正确的是?. CA. 图像标记是以<img>开始,以</img>结束B. href属性用于指定所要显示图像文件的路径C. src 属性用于指定所要显示图像文件的路径D. alt用于指定显示在图像上的文字(10)当前文件夹下有一个HTML文件a.htm和一个子文件夹B,文件夹B中有一个图片文件flower.jpg,请问下面哪种写法可以在a.htm中插入该图片?. CA. <img src="flower.jpg">B. <img src="../flower.jpg">C. <img src="B/flower.jpg">D. <img src="/B/flower.jpg">(11)在超链接标记中,下面哪个属性用来指定超链接路径?. BA. srcB. hrefC. dynsrcD. action(12)在一组单选框中,下面哪一个属性可以用来默认选中某个选项?. BA. slectedB. checkedC. multipleD. noresize(13)下面哪种方法可以设置单行文本框的默认值为“在这里输入用户名”?. AA. <input type="text" name="txtUserId" value="在这里输入用户名">B. <input type="text" name="txtUserId">在这里输入用户名</input>C. <textarea type="memo" name="txtUserId" value="在这里输入用户名">D. <textarea type="memo" name="txtUserId"> 在这里输入用户名</textarea>(14)下面哪一种文本框中输入数据后,数据将以*号显示?. DA. 单行文本框B. 多行文本框C. 数值文本框D. 密码文本框(15)在表单中,下列哪个属性用于指定表单处理程序文件的地址?. BA. methodB. actionC. GETD. POST(16)在框架网页中,如果一个超链接在整个浏览器窗口中打开,target属性的值为:A. _blanB. _selfC. parentD._top 答案: D(17)要实现一个上下型框架网页,至少需要几个网页文件?. BA. 2B. 3C. 4D. 6(18)下列哪个属性可以用来使框架不显示滚动条?. CA. colsB. rowsC. scrollingD. noresize(19)在示例2-7中,下面哪一条语句可以将C:\inetpub\wwwroot\asptemp\chapter1文件夹中的1-1.htm当作“right”框架的初始网页?.CDA. <frame name="right" src="1-1.htm">B. <frame name="right" src="../1-1.htm">C. <frame name="right" src="../chapter1/1-1.htm">D. <frame name="right" src="/asptemp/chapter1/1-1.htm">(20)下列哪个标记可以单独使用(不需要结束标记)?.ABCDA. <p>B. <br>C. <img>D. <input>第3章VBScript基础知识1. 选择题(可多选)(1)下列哪一个变量名称是正确的?.BA. 1_abB. ab_1C. _abD. ab?(2)在一段程序中a是一个变量,那么"a"是:.DA. 变量B. 直接常量C. 字面常量D. 符号常量(3)下面哪条语句可以正确执行?(注:第四句我的主页两边是中文引号)A. Response.Write "<h1 align="center">我的主页</h1>"B. Response.Write "<h1 align='center'>我的主页</h1>"C. Response.Write "<h1 align=""center"">我的主页</h1>"D. Response.Write "<h1 align=""center"">“我的主页”</h1>" 答案:BCD (4)执行语句a="6"后,变量a的数据子类型是? .AA. 字符串B. 日期C. 数值D. 布尔(5)执行语句a="2008-8-8"后,变量a的数据子类型是? .AA. 字符串B. 日期C. 数值D. 布尔(6)假设变量a=5、b=3,则执行语句c="a>b"后,变量c的数据子类型是? .A A. 字符串 B. 日期 C. 数值 D. 布尔(7)语句a="abc"="abc"运行完毕后,变量a的数据子类型是? .CA. 数值B. 字符串C. 布尔D. 日期(8)执行语句a=3: a=a+5后,变量a的值是:.CA. 3B. 5C. 8D. 出错(9)已知x=123,那么执行语句y=x \10 Mod 10后,变量y的值是? .CA. 0B. 1C. 2D. 3(10)已知a= "ab",那么执行语句b="cd'" & a & " " & "ef"后,变量b的值是? (提示:请注意题目和答案中的空格).AA. "cd'ab ef"B. "cd'abef"C. "cdabef"D. "cdab ef"(11)下面的语句执行完毕后,变量a、b、c、d的值分别是? .B<% a="1"+"1": b="1"+1: c="1" & "1": d="1" & 1 %>A. "11"、"11"、"11"、"11"B. "11"、2、"11"、"11"C. 2、2、"11"、"11"D. "11"、"11"、2、2(12)请问表达式Not(6+3<5+2)的值是?.AA. TrueB. FalseC. 9D. 无法计算(13)请问Int(3.45)和Int(-3.45)的值分别是什么?.BA. 4、-4B. 3、-4C. 3、3D. 3、-3(14)执行语句a=Int(10 * Rnd())后,则a的值不可能出现的有?.CDA. 0B. 1C. 10D. 11(15)在取整时按四舍五入进行的函数是?答案:CA. IntB. FixC. RoundD. CInt(16)请问Mid("八千里路云和月",3,2)的返回值是什么?答案:BA. "千里"B. "里路"C. "里"D. "路云"(17)执行语句a=InStr(Trim(Replace(" abcdef ","c","")),"ef")后,变量a的值是?A. 0B. 1C. 4D. 5 答案:C(18)函数DateDiff("m",#2008-8-8#,#2008-10-1#)的返回值是? 答案:2A. 1B. 2C. 54D. 5(19)对于数组a(3,4),函数UBound(a,2)的值是:.DA. 1B. 2C. 3D. 4(20)假如变量a的值是"100",则IsNumeric(a)和VarType(a)的值分别是?.BA. True、2B. True、8C. False、2D. False、8(21)假如变量a的值是"2008-8-8",则IsDate(a)和VarType(a)的值分别是?.BA. True、2B. True、8C. False、2D. False、8(22)执行语句a=Chr(Asc("ABC"))后,则a的值是:.BA. "ABC"B. "A"C. 65D. 出错(23)退出Do循环的语句是?.BA.Exit For B. Exit Do C. Exit Sub D. Exit Function(24)在示例3-11和3-12中,循环结束后,I的值分别是多少?.BA. 100、100B. 101、101C. 100、101D. 101、100(25)以下哪些语句可以嵌套使用?.ABCDA. For…NextB. Do…LoopC. Select CaseD. If…Then…Else第4章Request和Response对象1. 选择题(可多选)(1)对于Request对象,如果省略集合,如Request("strName"),将按什么顺序依次检查是否有信息传入? .BA. Form、QueryString、Cookies、ServerVariables、ClientCertificateB. QueryString、Form、Cookies、ServerVariables、ClientCertificateC. Cookies、QueryString、Form、ServerVariables、ClientCertificateD. Form、QueryString、Cookies、ServerVariables、ClientCertificate(2)Request对象的QueryString、Form、Cookies集合获取的数据子类型分别是?A. 数字、字符串、字符串B. 字符串、数字、数字C. 字符串、字符串、字符串D. 必须根据具体值而定答案:D(3)在表单中,下列哪个属性用于设定表单的提交方法?.AA. methodB. actionC. POSTD. GET(4)若表单提交时采用GET方法,则下面哪种集合可以获取表单元素的值?A. Request.Form("元素名")B. Request.QueryString("元素名")C. Response.Form("元素名")D. Response.QueryString("元素名")答案:B(5)下面哪种集合可以获取查询字符串中的信息?.BDA. Response("元素名")B. Request("元素名")C. Request.Form("元素名")D. Request.QueryString("元素名")(6)请问下面语句执行完毕后,页面上显示内容是什么?.C<% Response.Write "<a href=''>新浪</a>" %>A. 新浪B. <a href=''>新浪</a>C. 新浪(超链接)D. 错误信息(7)请问下面程序段执行完毕,页面上显示的内容是什么?.D<%="北京"="上海"%>A. 北京上海B. 北京(换行)上海C. 北京D. 错误信息(8)请问下面程序段执行完毕,页面上显示的内容是什么?答案:A<%Response.Write "a": Response.Flush: Response.Write "b": Response.ClearResponse.Write "c": Response.End: Response.Write "d"%>A. acB. cdC. bdD. ad(9)Response对象的什么方法可以将缓冲区中的页面内容立即输出到客户端?A. WriteB. EndC. ClearD. Flush 答案:D(10)下列哪个集合可以返回客户端IP地址?答案:ABA. Request("REMOTE_ADDR")B. Request.ServerVariables("REMOTE_ADDR")C. Request.ServerVariables("IP")D. Request.ServerVariables("LOCAL_ADDR").第5章Session和Application对象习题51. 选择题(可多选)(1)请问下面程序段执行完毕,变量c的值是?B<% Session("a")=1: Session("b")=2: c=Session("a")+Session("b") %>A. 12B. 3C. abD. 以上都不对(2)请问下面语句执行完毕后,变量c的值是?答案:B<% Dim a,c: a="b": Session("a")= 1: Session(a)= 2 : c=Session("b") %>A. 1B. 2C. 3D.以上都不对(3)请问下面程序段执行完毕后,变量c的值是?答案:D<% Dim a: a="b": Session(a)=1: Session("b")=2: c=Session(b) %>A. 1B. 2C. 3D. 空(Empty)(4)请问下面程序段执行完毕,变量b的值是?答案:B<% Session("a")=1: Session.Abandon: Dim b: b=Session("a") %>A. 0B. 1C. 空(Empty)D. 程序出错(5)Session对象的默认有效期为多少分钟?答案:CA. 10B. 15C. 20D. 30(6)在同一个应用程序的页面1中执行Session.TimeOut=30,那么在页面2中执行Response.Write Session.TimeOut,则输出值为多少?答案:DA. 15B. 20C. 25D. 30(7)Application对象的默认有效期为多少分钟?答案:DA. 10B. 15C. 20D. 从应用程序启动到结束(8)在应用程序的各个页面中传递值,可以使用哪几个内置对象?答案:CDA. RequestB. ResponseC. SessionD. Application(9)Session变量和Application变量的返回值的数据子类型是?答案:DA. 字符串、字符串B. 数值、字符串C. 字符串、数值D. 根据其中的数据的类型决定(10)下面哪条语句可以创建一个对于访问网站的所有用户均有效的变量intAll?A. Session("intAll")=10B. Application("intAll")=10C. Public Session("intAll")D. Public Application("intAll") 答案:B(11)在一个应用程序中,Global.asa文件可以有几个?答案:BA. 0B. 1C. 2D. 无限多个(12)在一个用户会话过程中,会触发几次Session_OnStart事件?答案:AA. 1B. 2C. 3D.无数次(13)下列哪种情况下可能会触发Session_OnEnd事件?答案:ABCDA. 用户关闭了浏览器B. 用户打开网页后离开电脑超过了20分钟C. 修改了Global.asa文件D. 在程序中执行了Abandon方法(14)下面哪种情况下表示会话结束,并会清除当前Session对象?答案:ABCDA. 用户打开页面后就离开了电脑长达30分钟。

网络程序设计期末复习题

网络程序设计期末复习题

网络程序设计期末复习题第一章网络基础(1)计算机网络程序设计是利用网络应用编程接口编写网络应用程序,实现网络应用进程间的信息交互功能。

(2)网络编程基于网络协议,网络编程接口访问网络协议提供的服务。

(3)简述OSI七层协议的主要功能:(4)网络互联的目的是提供一个无缝的通信系统。

为此,必须用互联网协议屏蔽物理网络的具体细节,并提供一个虚拟网络的功能。

(5)每个IP地址被分割成前缀和后缀两部分。

前缀用于确定计算机从属的物理网络,后缀则用于确定网络上一台单独的计算机。

(6)IP中主机地址为0的地址表示网络地址。

(7)网络号后跟一个所有位全是1的后缀,就是直接广播地址。

(8)地址解析(Address Resolution)就是将计算机中的协议地址翻译成物理地址(或称MAC地址,即媒体映射地址)。

(9)一个系统的全域名由主机名、域名和扩展名三部分组成,各部分间使用“.”分隔,例如。

(10)在TCP/IP应用中,域名系统(DNS)是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息。

(11)以太网数据帧的长度必须在46~1518字节之间。

(12)TCP和UDP都用一个16位的端口号来表示不同的应用程序。

(13)TCP和UDP把源端口号和目的端口号分别存入报文首部中。

(14)网络接口分别要发送和接收IP、ARP和RARP数据,因此也必须在以太网的帧首部中加入16 bit 的帧类型域以指明生成数据的网络层协议。

(15)当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。

每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。

这个过程称作分用(Demultiplexing)。

(16)TCP和UDP采用端口号来识别应用程序。

(17)任何TCP/IP实现所提供的服务都使用通用端口号1~1023。

(18)IEEE 802.3定义了一种具有七个字段的帧(MAC):前导符、起始帧分界符、目标地址、源地址、PDU的长度/类型、数据以及CRC。

四川农业大学智慧树知到“计算机科学与技术”《网络程序设计(本科)》网课测试题答案卷2

四川农业大学智慧树知到“计算机科学与技术”《网络程序设计(本科)》网课测试题答案卷2

四川农业大学智慧树知到“计算机科学与技术”《网络程序设计(本科)》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共10题)1.在编写JAVA程序时候,如果不为类的成员变量定义初始值,JAVA会给他默认值,下类说法不正确的是:()A.byte是0B.int是0C.long 是0.0lD.float是0.0f2.下列哪一项不属于变量的组成部分:()A.变量名B.变量属性C.变量初值D.变量大小3.请问如下哪个方法可以将MenuBar加入Frame中?()A.setMenu()B.setMenuBar()C.add()D.addMenuBar()4.下列关于整型类型的说法中,正确的是:()A.short类型的数据存储顺序先低后高B.Integer.MAX_VALUE表示整型最大值C.Long.MIN_VALUE表示整型最大值D.long类型表示数据范围和int类型一样5.下列语句中,不正确的是:()A.float e =11fB.char f =11fC.double g =11fD.byte h =16.下列选项中,哪一项不属于JAVA语言的简单数据类型:()A.整数型B.数组C.字符型D.浮点型7.下列关于JAVA语言中要使用的一个变量,不正确的是:()A.在JAVA程序中要使用一个变量,必须先对其进行声明B.变量声明语句可以在程序的任何地方,只要在变量使用前就可以C.变量不可以在其作用域之外使用D.局部变量在使用之前可以不初始化,系统使用默认的初始值8.下列哪一个不属于JAVA语言的数据类型:()A.指针类型B.类C.数组D.浮点类型9.下列语句中,不正确的是:()A.float e =1.1fB.char f =-1.1fC.double g =1.1fD.byte h =110.下列JAVA语句中,不正确的一项是:()A.int $ e,a,b =10B.char c,d = 'a'C.float e = 0.0dD.double e = 0.0f第1卷参考答案一.综合考核1.参考答案:C2.参考答案:D3.参考答案:B4.参考答案:B5.参考答案:B6.参考答案:B7.参考答案:D8.参考答案:A9.参考答案:B10.参考答案:C。

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

1、什么叫套接字?套接字按通信性质可以分为哪两类?多个TCP连接或多个应用程序进程可能需要通过同一个 TCP协议端口传输数据。

为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口。

套接字按通信性质分:会话套接字和数据报套接字。

2、理解线程的创建与使用方法,并能应用到程序设计中。

P663、异构环境下的网络程序设计需要考虑哪些问题?1)字节顺序:不同的平台以不同的方式存放一个二进制数。

最常见的有两种格式:大数在前的字节顺序和小数在前的字节顺序。

大数在前的字节顺序是指将一个多字节数的高序字节存储在内存的起始地址;而小数在前的字节顺序则相反,将低序字节存储在内存的起始地址。

2)字的长度:不同的实现对于相同的数据类型可能有不同的表示长度。

3)字节定界问题:不同的平台上为结构体(struct)或共同体(union)打包的方式也是不同的,这取决于所有数据类型的位数及机器的定界限制。

4、为什么在数据结构struct sockaddr_in中,成员变量sin_addr和sin_port需要转换为网络字节顺序,而sin_family不需要呢?Sin_addr和sin_port分别封装在包的IP和UDP层,必须要是网络字节顺序。

Sin_family域只是被内核使用来决定在数据结构中包含什么类型的地址,没有发送到网络上,所以它必须是本机字节顺序5、从网络编程的角度来简述和比较IP地址和端口的作用。

端口:是一种抽象的软件结构。

应用程序通过系统调用与某端口建立连接(binding)后,传输层传给该端口的数据都被相应进程所接受,相应进程发给传输层的数据都通过该端口输出。

在TCP/IP协议的实现中,端口操作类似一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件。

地址:网络通信中通信的两个进程在不同的机器上。

这两个机器可能位于不同的网络,这些网络通过网络互联设备连接。

因此需要三级寻址:某一主机与多个网络相连,必须指定一特定网络地址;网络上每一主机应有唯一的地址;每一主机上的每一进程有在主机上的唯一标识符。

6、为什么网络编程时需要考虑字节顺序问题?7、WinSock编程中需要哪些文件?8、UDP程序的工作模型隐含着通信标识五元组的建立过程。

这五元组在UDP的客户与服务端是由哪些函数分别确定的?9、什么是阻塞与非阻塞通信?请解释两者的区别。

通信包括阻塞和非阻塞两种模式。

阻塞调用是指调用结果返回之前,当前线程会被挂起。

函数只有在得到结果之后才会返回。

非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

区别:对于不同的协议,阻塞通信和非阻塞通信有不同的表现。

以插口为例,在阻塞模式下,利用TCP协议发送一个报文时,如果低层协议没有可用空间来存放用户数据,则应用进程将阻塞等待直到协议有可用的空间。

而在非阻塞模式下,调用将直接返回而不需等待。

在应用进程调用接收函数接收报文时,如果是在阻塞模式下,若没有到达的数据,则调用将一直阻塞直到有数据到达或出错;而在非阻塞模式下,将直接返回而不需等待。

对于UDP协议而言,由于UDP没有发送缓存,因此所有UDP协议即使在阻塞模式下也不会发生阻塞。

对于面向连接的协议,在连接建立阶段,阻塞与非阻塞也表现不一。

在阻塞模式下,如果没有连接请求到达,则等待连接调用将阻塞直到有连接请求到达;但在非阻塞模式下,如果没有连接请求到达,等待连接调用将直接返回。

10、简述各种类型数据的发送与接收处理的方法。

11、简述基于UDP的客户机/服务器端socket编程流程。

12、什么是通信三元组和五元组?三元组和五元组每个元素在网络连接中起到什么作用?三元组:(协议,本地地址,本地端口号);(在网络中用一个三元组可以在全局唯一标志一个进程:(协议,本地地址,本地端口号)这样一个三元组,叫做一个半相关(half-association),它指定连接的每半部分。

)五元组:(协议,本地地址,本地端口号,远地地址,远地端口号)(即两个协议相同的半相关才能组合成一个合适的相关,或完全指定组成一连接。

)13、为什么服务端在TCP通信过程中需要调用bind( )函数而客户端不需要?为什么客户机通常不需要绑定自己的端口号?14、简述套接字Select模型原理,以及select模型的优势和不足。

15、简述阻塞模式服务器和客户端工作流程,以及阻塞模式套接字的优势和不足。

16、在实际应用中,很多TCP服务器程序在非正常退出时,如果立即重启服务器进程则会发生绑定服务器端口失败的错误,从而无法启动服务器进程,但等待一段时间后就可以了。

为什么会发生这种情况呢?如何解决这个问题(或采取什么措施可以立即重启服务器进程)?(要求掌握setsockopt()函数的用法)17、TCP程序的工作模型隐含着通信标识五元组的建立过程。

这五元组在TCP的客户与服务端是由哪些函数分别确定的?18、accept( )为什么要返回一个套接口?或者说,为什么要为每一个连接创建一个套接口来处理?UDP服务器端为什么不需要多个套接口?19、理解生产者-消费者模型,理解线程的同步与互斥方法(event和critical-section),并能应用到程序设计中。

20、采用阻塞式I/O模型时,套接字函数recv()的返回值有哪几种?分别对应什么情况?21、closesocket()函数和shutdown()函数有何差别?shutdown()与closesocket()的区别shutdown()与closesocket()的区别。

1) 如果关闭读,则接受缓冲区的未读出的所有数据都将丢失,以后不会再接受任何数据 2) 如果关闭写,如果输出缓冲区内有数据,则所有的数据将发送出去后将发送一个FIN信号而close 则是关闭该socket,马上发送FIN信号,所有的未完成发送或者接受的数据都将被丢失对于慢速网络,应该先进行shutdown,然后一定的时间延迟,再close该socket.22、什么是TCP的三次握手机制?为什么要使用TCP的三次握手机制?含义:所谓的“三次握手”即对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系,并建立虚连接。

为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确认消息。

TCP总是用来发送大批量的数据。

当应用程序在收到数据后要做出确认时也要用到TCP。

原因:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

三次握手时在存在包丢失、重复和延迟的情况下,确保通信双方信息交换确定性的充分必要条件。

1.请求端(通常称为客户)发送一个SYN段,指明客户打算连接的服务器的端口以及初始序号(SEQ)。

这个SYN段为报文段1。

2.服务器发回包含服务器的初始序号的SYN 报文段(报文段2)作为应答。

同时,将确认序号设置为客户的ISN加1,用以对客户的SYN报文段进行确认。

一个SYN占用一个序号。

3.客户必须将确认序号设置为服务器的ISN 加1,用以对服务器的SYN报文段进行确认23、服务器端并发的两种模型及编程实现。

考试形式:闭卷考试时间:120分钟考试题型:选择题(2’×10=20’)、简答题(10’×6=60’)、程序设计题(20’)函数参考:struct sockaddr { unsigned short sa_family, char sa_data[14] };struct sockaddr_in { short sin_family, unsigned short sin_port, struct in_addr sin_addr, char sin_zero[8] };u_short htons(u_short hostshort);u_long htonl(u_long hostlong);u_short ntohs(u_short hostshort);u_long ntohl(u_long hostlong);unsigned long inet_addr(const char* cp);char* FAR inet_ntoa(struct in_addr in);int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData );#define WINSOK_VERSION MAKEWORD(2, 2)int WSACleanup(void);int WSAGetLastError(void);SOCKET socket( int af, int type, int protocol );int closesocket( SOCKET s );int bind( SOCKET s; const struct sockaddr* name, int namelen );int recvfrom( SOCKET s, char* buf, int len, int flags, struct sockaddr* from, int* fromlen );int sendto( SOCKET s, const char* buf, int len, int flags, const struct sockaddr* to, int tolen );int listen( SOCKET s, int backlog );SOCKET accept( SOCKET s, struct sockaddr* addr, int* addrlen );int connect( SOCKET s, const struct sockaddr* name, int namelen );int send( SOCKET s, const char* buf, int len, int flags );int recv( SOCKET s, char* buf, int len, int flags );int shutdown( SOCKET s, int how );int setsockopt( SOCKET s, int level, int optname, const char FAR * optval, int optlen );int select( int ntfs, fd_set* readthis, fd_set* writefds, fd_set* excepitids, const struct timeval* timeout );FD_ZERO(*set);FD_SET(s, *set);FD_CLR(s, *set);FD_ISSET(s, *set);unsigned long _beginthread( void(__cdecl *start_address)(void *), unsigned stack_size, void *arglist );HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCTSTR lpName );BOOL SetEvent( HANDLE hEvent );DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds );BOOL CloseHandle( HANDLE hObject );void InitializeCriticalSection( LPCRITICAL_SECTION lpCriticalSection );void EnterCriticalSection( LPCRITICAL_SECTION lpCriticalSection );void LeaveCriticalSection( LPCRITICAL_SECTION lpCriticalSection );void DeleteCriticalSection( LPCRITICAL_SECTION lpCriticalSection );。

相关文档
最新文档