互联网复习资料doc.docx
《互联网复习资料doc.docx》由会员分享,可在线阅读,更多相关《互联网复习资料doc.docx(8页珍藏版)》请在冰豆网上搜索。
互联网复习资料doc
1、简要回答编写基于TCP的服务器端和客户端程序的一般
步骤。
服务器端:
(1)创建一个TcpListener对象,然后调用该对象的Start方法在指定的端口进行监听。
(2)在单独的线程中,循环调用AcceptTcpClient方法接受客户端的连接请求,从该方法的返回结果中得到与该客户端对应的TcpClient对象,并利用该对象的GetStream方法得到NetworkStream对象。
(3)每得到一个新的TcpClient对象,就创建一个与该客户对应的线程,在线程中与对应的客户进行通信。
(4)根据传送信息的情况确定是否关闭与客户的连
1、什么是广播、组播?
两者有什么区别?
所谓广播,就是指同时向子网中的多台计算机发送消息,并且所有子网中的计算机都可以接收到发送方发来的消息。
每个广播消息包含一个特殊的IP地址,这个特殊地址的特点是:
子网内主机标识部分的二进制表示均为1。
广播消息地址分为两种类型:
本地广播和全球广播。
当接收者分布于多个不同的子网内时,广播将不再适用。
此时可以用组播来实现。
组播也叫多路广播。
所谓组播是将消
息从一台计算机发送到本网或全网内选择的计算机子集上,即发送到那些加入指定组播组的计算机上。
1、简述POP3工作原理。
授权状态:
将客户的用户名发送到服务器,服务器验证正确性。
将客户端输入的密码发送给服务器,服务器验证正确性。
操作状态:
从服务器中获取邮政总数和字节总数,服务器响应命令返回邮件总数和字节总数。
从服务器中获取邮件列表和大小,服务器响应返回列出邮件列表和大小。
从服务器中获取一个邮件,告诉服务器该邮件标记为删除。
更新状态:
关闭与服务器的连接。
1、简述被动模式下FTP客户端和FTP服务器的工作流程。
被动模式表示服务器被动接受客户端连接请求,即控制连
接请求和数据连接请求都由客户端发起。
在此模式下,FTP客户端先随机开启一个端口N向服务器的21号端口发起控制连接,然后向服务器发送PASV命令,服务器收到此命令后,会用一个新的端口P(P〉1024)进行监听,同时将该端口号告诉客户端,客户端收到响应命令后,再通过新的端口N+1连接服务器的端口P,建立数据连接。
用户通过客户机
进程向服务器进程发送命令,服务器分析并执行命令,然后将执行结果通过数据连接返回到客户端。
选择题
1.下列关于解决方案的叙述中,不正确的是()
A、一个解决方案可以包含多个项目
B、一个解决方案只能包含一个项目
C、新建项目时,会默认生成一个解决方案
D、解决方案文件的扩展名为“.sin”
2.在C#中,使用哪个类表示网络通信时使用的端点()
A、IPAddress
B、IPEndPoint
C、IPHostEntry
D、Dns
3.下面对于端口号说法不正确的是()
A、在网络通信中,定义逻辑意义的端口是为了解决与多个应用程序进行通信的问题
B、逻辑端口地址的范围是十进制的0—65535
C、默认情况下一个端口号可以同时被多个进程使用
D、HTTP协议使用80做为默认端口
4、分析下列语句:
namespaceTestCS{publicdelegatevoidHello(stringtarget);}该语句的作用是()
A.在TestCS命名空间中定义了一个名为Hello的全局方法
B.在TestCS命名空间中声明了函数Hello的原型
C.在TestCS命名空间中定义了一个名为Hello的函数指针
D.在TestCS命名空间中定义了一个名为Hello的委托类型
5、关于线程和进程,下列说法正确的是()
A、进程等同于程序
B、进程是操作系统分配处理器时间的基本单位
C、一个线程可以属于多个进程
D、一个进程可以有多个线程
6、声明一个委托publicdelegateintmyCallBack(intx);
则用该委托产生的回调的原型应该是()
A、voidmyCallBack(intx)
B、intreceive(intnum)
C、stringreceive(intx)
D、不确定
7、TCP/IP的层次结构由上到下依次是()
A、应用层、网际层、传输层、网络接口层
B、网际层、应用层、传输层、网络接口层
C、应用层、传输层、网际层、网络接口层
D、传输层、网际层、应用层、网络接口层
8、TCP/IP是一个协议组,其中不包括以下哪个协议()
A、OSI
B、TCP
C、UDP
D、IP
9、TCP建立连接的过程称为()
A、确认
B、三次握手
C、四次握手
D>Establish
10、下列描述中哪个不是UDP的特点()
A、传输消息无消息边界
B、可以以广播或组播的方式发送数据
C、一种无连接的协议
D、不保证数据到达的顺序与数据发出的顺序相同
11、下列关于UDP和TCP的叙述中不正确的是()
A、UDP比TCP的协议简单,数据传输效率也高
B、UDP和TCP均是传输层中的协议
C、UDP是面向连接的服务,而TCP是面向无连接的服务
D、UDP—般适用于成批传送大量数据的场合
12、下列说法不正确的是()
A、组播组是开放的,可以随时加入到组播组中,也可以随时离开
B、组播消息不能穿越子网
C、组播通信时不需要向组播组发起连接请求
D、组播地址范围在224.0.0.0-239.255.255.255
13、某公司申请到一个C类IP地址,但要连接6个子公司,最大的一个子公司有26台计算机,每个子公司在一个网段中,则子网掩码应设为()
A、255.255.255.0
B、255.255.255.128
C、255.255.255.129
D、255.255.255.224
14、•NetFramework中UdpClient类提供的加入组播组的方
法为()
A、JoinMuticastGroup
B、DropMuticastGroup
C、InvokeRequired
D、Connect
15、下列描述不正确的是()
A、PNRP是目前唯一一种可以完成对等点发现的协议
B、P2P的设计模式可以分为两大类:
一种是单纯型P2P架构,没有专用的服务器,另一种是混合型P2P架构,即单纯型和专用服务器相结合的架构
C、PNRP可完成对等名称的注册和解析
D、不同对等方的对等名称可以相同
16、下面关于PNRP协议错误的是()
A、对等点名称由Authority节和Classifier节两部分构成
B、安全型的对等点Authority节的值为0
C、群是指一组可以通过网络相互通信的节点
D、整个IPv6因特网仅有一个全局群,代表IPv6因特网上的所有对等节点
17、下列描述不正确的是()
A.P2P是一种新的网络传输协议
B.P2P架构中若存在中央服务器,则该服务器起到促成各节点协调的功能
C.常见的P2P软件有PPLVE、QQ、POPO、BT
D.服务器和客户端通信需要知道对方使用的IP地址和端口
18、已知在某WindowsForm应用程序中,主窗口类为Forml程序入口为静态方法Forml.Main(),如下所示:
PublicclassForml:
System.Windows.Forms.Form
StaticvoidMainO
//在此添加合适代码
则在Main方法中打开主窗口的正确代码是()
A.Application.Run(newForml())
B.Applicaton.Open(newForml())
C.(newForml())•Open()
D.(new.Forml())•Run()
19、在C#中using关键字的作用是()
A.定义命名空间
B.新建实例
C.调用类
D.引用命名空间
20、要退出应用程序的执行,应执行下列的()语句
A.Applicaton.Exit()
B.Application.Exit
C.Application.Close()
D.Application.Close
填空题:
1、套接字有两种不同类型,包括和,其中利
用Socket实现面向连接的通信时,应使用套接字
2、用于网络进程通信的IPEndPoint类包含了应用程序连接到主机
上的服务所需的和
3、使用命名空间提供的线程类Thread的方法,
可以启动多线程
4、在遵守.NET全标准的前提下,从一个线程成功地访问另一个
线程创建的控件,需要用到机制,它实质上是委托的一
种应用
5、TCP编程使用C#提供的类和TcpCIient类,分别用于
编写服务器端和客户端程序,UDP编程只使用类。
这三
个类均位于命名空间下
6、异步编程有两种模式,一种采用基于事件的编程模式、
一种采用基于接口的模式。
后者利用方
法开始执行异步操作,调用方法结束异步操作
7、使用组播时通过设置属性值设置允许路由器转发
的最大数目
8、C类网络地址192.168.3.5,使用子网掩码255.255.255.0,则本地广播地址为
9、P2P的设计模式有和两类,即时通信聊天工
具采用的系统方式是
10、一个完整的P2P网络应用的运行一般由、连接和
通信三个阶段组成
TCP实现服务器端
1.//获取本机所有IPAddress
IPAddress[]allIP=Dns.GetHostAddresses(name)
2.//启动监听
myListener.Start()
3.//等待用户进入
newClient=myListener.AcceptTcpClient()
4.//获取网络流
NetWorkStreamstream=client.GetStream
5.//利用sr读取数据
receiveString=sr.ReadString()
UDP实现实名和匿名
1.//匿名模式
sendUdpClient=newUdpclientO
2.//实名模式
sendUdpClient=newUdpClient(locallPEndPoint)
3.sendUdpClient.send(sendbytes,sendbytes.Length,remotelPEndPoint)
4.receiveUdpClient=newUdpClien(localIPEndpoint)
5.byte口receiceBytes=receiveUdpClient.receive(refremotelPEndPonint)