C#网络编程重点、难点分析.docx_第1页
C#网络编程重点、难点分析.docx_第2页
C#网络编程重点、难点分析.docx_第3页
C#网络编程重点、难点分析.docx_第4页
C#网络编程重点、难点分析.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.进程,线程的概念,什么时候使用多线程技术答:进程是对一段静态指令序列(程序)的动态执行过程,是系统进行资源分配和调度的基本单位。 同一个进程又可以划分为若干个独立的执行流,我们称之为线程。线程是CPU调度和分配的最小单位。什么时候使用多线程:做一个需要消耗大量时间的程序,会处于死机状态。 2.启动一个线程的方法 Thread类的使用,命名空间,调用的顺序,含义答:首先创建一个线程,让其与方法相关联,然后再调用它的Start()方法,来启动一个线程。引用命名空间 using System.Threading;调用顺序: 启动线程,创建个Thread的对象【Thread t=new Thread(Method1);t.Start(); 】 Method1是委托,系统分配的线程方法 终止线程【t.Abort(); 】 合并线程【t.Join(); 】让线程休眠 【Thread.Sleep(); 】3. 终止线程的方法有哪些,如何实现?答:(1)用 Abort() 方法 (2)语句执行完毕,自动终止4.对委托的理解,委托的语法答:使用委托可以将方法引用封装在委托对象内,然后可以将该委托对象传递给所引用方法的代码,而不必在编译时知道将调用哪个方法。委托是面向对象、类型安全的。(1)定义一个代理 public delegate void myDelegate(string str);(2)申明函数返回值和参数要与代理的一致;public void AppendString(string str) richTextBox1.Text += str; (3)实例化一个代理(将代理和对应函数建立联系)myDelegate md=new myDelegate(AppendString);/参数是函数名(4)代理的使用richTextBox1.Invoke(md, b);5.在一个线程中如何操作另一个线程的控件答:通过一个控件的Invoke(委托名,参数)方法,再加上委托来完成6.如何使用IPAddress类答:IPAddress类提供了对IP地址的转换、处理等功能。IPAddress ip=IPAddress.Parse(“”);7.Dns类中的相关方法答:(1)Dns.GetHostName() 用于得到主机名(2)Dns.GetHostAddresses() 用于得到所有的IP地址(3)Dns.GetHostEntry() 用于得到IPHostEntry的事例8.如何创建一个Socket对象,几个参数的含义答:首先引用命名空间 using System.Net;using System.Net.Sockets;Tcp: Socket serSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);Udp: Socket udpClient = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); AddressFamily网络类型 SocketType套接字类型 ProtocolType协议类型 服务端:Socket() Bind() Listen() Accept() Receive() Send() Close() 创建套接字 绑定 监听 发送 接收 客户端:Socket() Connect()Send() Receive() Close()9.网络流NetWorkStream的作用,Udp有网络流吗?答:用于通过网络套接字 发送 和 接收 数据Udp 没有 网络流10.采用Socket类进行通信的基本步骤以及编码实现过程, 包括客户端和服务端 (书上图P17) 11.什么是同步方式答:同步方式是指利用TCP编写的程序执行到发送、接收或监听语句时,在未完成工作前,不再继续往下执行,即处于阻塞状态,直到该语句完成相应的工作后才继续执行下一条语句。12.Tcp同步编程服务端有哪些调用,分别完成什么功能答:(1) Socket 创建一个Socket对象(2) Bind() 绑定端点(地址与端口号) (3) Listener() 监听操作 (4) Accept() 接收连接 (5) Receive() & Send()接收和发送 (6) Close()关闭13.Tcp同步编程客户端有哪些调用,分别完成什么功能,阻塞在那个调用那儿?答: (1) Socket 创建一个Socket对象 (2) Connect() 用于建立连接操作 (3) Send() & Receive() 接收和发送(4) Close() 关闭14.对异步操作的理解答:能够在工作尚未完成的时候,继续处理其它工作。实现异步的机制是什么:多线程。利用多线程,把费时耗力的工作交给一个新开辟的线程来做。15.Tcp异步编程,BeginXXXX 方法的参数是什么,异步回调是什么?答:肯定会有两个参数, 1.异步回调的方法 2.所要传送的Object类型的参数异步回调:在异步操作方式下,由于程序可以在启动异步操作后继续执行其它代码,因此必须要有一种机制,以保证该异步操作完成时能及时通知调用者。可以通过 AsyncCallback 委托来实现。16.Tcp编程中用到哪些类答:Tcp:Socket 类 TcpLisenser 类 TcpClient 类 IpAddress,IpEndPoint,NewtworkStreamUDP:UdpClient,IpAddress,IpEndPoint,NetworkStream17.Udp与Tcp区别与联系,各自的有缺点答:Tcp 是基于流的套接字,而Udp是基于数据报的套接字。Tcp是一种有连接的,可靠的套接字,传送时不易掉包Udp是一种无连接的,不可靠的套接字,易掉包都是网络协议。都是支持TCP/IP的套接字18.Udp如何发送数据,有哪些参数,什么含义答:直接调用UdpClient对象的Send()方法Send(byte data,int Lenth,IPendPoint iep);三个参数:数据,数据长度,远程IPEndPoint对象。19.Udp如何接收数据,有哪些参数,什么含义答:直接调用UdpClient对象的Receive()方法byte data = UdpClient.Receive(ref remoteEndPoint);将远程主机的IPEndPoint20.组播与广播的概念,实现过程,Tcp与Udp哪个协议能组播与广播答:广播就是指同时向子网中的多台计算机发送消息,并且所有子网中的计算机都可以接收到发送发发来的消息。组播就是将消息从一台计算机发送到本网或全网内选择的计算机子集上,即发送到那些加入指定组播组的计算机上。广播分两种:本地广播和全球广播。本地广播,要求将IP地址的最有一个点分十进制的数据写成 255 全球广播,要求将IP地址全部写为 55要想实现广播与组播,必须将端口号设为相同实现组播:(1)myUdpClient.Ttl=50;将UdpClient对象的Ttl属性设置(2)myUdpClient.JoinMulticastGroup(IPEndPoint);或 myUdpClient.JoinMulticastGroup(“”);21.D类地址的作用与取值范围答:D类地址供 UDP 实现组播。 取值范围: 5522.EventWaitHandle类的使用 WaitOne Reset Set 方法的作用答:引入命名空间 using System.Threading;对EventWaitHandle进行实例化对象.Reset(); 将其设为非终止状态 (红灯)对象.Set(); 将其设为终止状态 (绿灯)对象.WaitOne(); 将其设为等待状态(等待)23.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论