C#网络应用编程(第二版)期末考试复习题.doc_第1页
C#网络应用编程(第二版)期末考试复习题.doc_第2页
C#网络应用编程(第二版)期末考试复习题.doc_第3页
C#网络应用编程(第二版)期末考试复习题.doc_第4页
C#网络应用编程(第二版)期末考试复习题.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

-1-100素数以下代码放到A页面加载事项int i,j,k;for(i=3;i100;i+=2) k=convert.toint32(math.sqrt(i); for(j=2;jk) label1.text=label1.text+i.tostring().trim(); -9*9乘法表以下代码放到A页面加载事项int z;for(int i=1;i10;i+) for(int j=1;ji;j+) z=i*j; label1.text=label1.text+i+*+j+=+z+; -两个数的最大公约数以下代码放到A Button单击事件下int x=convert.toint32.textbox1.text.tostring().trim();int y=convert.toint32.textbox2.text.tostring().trim();int z,r;if(xy) x=z; z=y; y=x; if(x%y=0) label1.text=label1.text+y.tostring().trim();elsewhile(x%y!=0) x=y; y=r; r=x%y; label1.text=label1.text+y.tostring().trim();判定五个数是不是大写字母using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace inputCapitalLetter class Program static void Main() bool ok = false; while (ok = false) Console.Write(请输入5个大写字母:); string str = Console.ReadLine(); if (str.Length != 5) Console.WriteLine(你输入的字符个数不是5个,请重新输入。); else ok = true; for (int i = 0; i 5; i+) char c = stri; if (c Z) Console.WriteLine(第0个字符“1”不是大写字母,请重新输入。, i + 1, c); ok = false; break; if (i =4) Console.WriteLine (every is big letter); 1、类Process.是位于System.Diagnostics名称空间下(1) 进程:正在执行的程序叫进程 (2) Process myprocess=process.Getprocesses();/获取当前系统中所有正在运行的进程。 Process myprocess =new process(); myprocess.start();/启动指定的进程。 Myproocess.kill();/关闭指定的进程。(3) process myprocess=new process(); Myprocess.startinfo.filename=”文件名”; /进程打开一个文件 Myprocess.startinfo.arguments=”参数名”; /进程打开一个参数2、 Thread类位于System.Threading名称空间下 (1)线程:一个进程包含若干独立的执行流,称之为线程 (2)thread t1=new thread(方法名); /创建线程 t1.start();或者t1.start(“方法名”) /启动线程 t1.abort(); /终止线程 t1.sleep(100); /暂停线程 t1.join(); /合并线程 (3)highest abovenormal normal belownormal lowest/线程五大优先级 Thread t1 = new thread(“方法名”); t1.priority=threadpriority.abovenormal; /线程优先级调用3、ip地址转换与域名解析(命名空间下) (1)ipaddress ip=ipaddress.parse(“2”);/parse方法将ip地址字符串转换为ipaddress实例 IPAddress类常用属性 Any 提供一个IPv4地址,指示服务器应侦听所有网络接口上的客户端活动。(等效于) Broadcast 提供IPv4广播地址(等效于55) Loopback 表示IPv4回送地址(等效于) None 表示Socket不应侦听客户端活动(不使用任何网络接口)。 IPv6Any 提供可用的IPv6地址 IPv6Loopback 表示IPv6回送地址 IPv6None 提供不使用任何网络接口。 (2)ipaddress ip=ipaddress.parse(“2”); ipendpoint iep=new ipendpoint(ip,65000); Listbox1.items.add(“ip地址:”+iep.address +”ip端口号:”+iep.port); (3) iphostentry 常用属性: 41页 AddressList属性:获取或设置与主机关联的IP地址列表,是一个IPAddress类型的数组,包含了指定主机的所有IP地址; HostName属性:包含了服务器的主机名。 Aliases属性包含了与主机关联的别名列表。在Dns类中,有一个专门获取IPHostEntry对象的方法。 例如:IPAddress ips = Dns.GetHostEntry(“).AddressList;Ips=dns.gethostentry(dns.gethostname().addresslist; (4)DNS(Domain Name System,域名系统)常用方法有GetHostAddresses方法(获取指定主机的IP地址,返回一个IPAddress类型的数组) 例如: IPAddress ips=Dns.GetHostAddresses();GetHostEntry方法 (在DNS服务器中查询与某个主机名或IP地址关联的IP地址) 例如: IPHostEntry host = Dns.GetHostEntry();/参数为空,返回本地主机的IPv4地址和主机名。 listBox1.Items.AddRange(host.AddressList); /本机所有IPv4地址 listBox1.Items.Add(host.HostName); /本机主机名GetHostName方法(获取本机主机名) 例如: string hostname = Dns.GetHostName();4、 网卡信息检测与网络流量检测(System.Net.NetworkInformation命名空间)5、 编码与解码(System.Text名称空间下) (1) 编码:是指将一组字符转换为一个字节序列的过程。 解码:将一个编码字节序列转换为一组字符的过程。 (2)为什么需要编码和解码 网络传递的数据必须是字节序列。6、套接字 (1) 概念:一个连接由它的两个端点标识,这样的端点称为套接字 (2)套接字之间的连接过程:服务器监听;客户端请求;连接确认 (3)套接字编程步骤:建立连接;发送、接收信息;关闭连接7、 文件流(System.io名称空间) 概念:能对文件系统上的文件进行读取、写入、打开和关闭操作。(1)创建FileStream实例 常用的构造函数具有三个参数,例如: FileStream(string path,FileMode mode,FileAccess access)FileMode值用于指定当文件不存在时是否创建该文件;FileAccess值是枚举的一个成员,它控制对文件的访问权限read,write(2) 读文件 在获取FileStream实例之后,可利用FileStream对象的Read方法读取文件中的数据。该方法用于从流中读取字节块并将该数据写入给定字节数组中。其语法形式为: public override int Read(byte array,int offset, int count) array : 存储从文件流中读取的数据。 offset : array字节数组中开始写入数据的下标,一般为0。 size : 要从文件流中读出字节的大小(3)写文件public override void Write (byte buffer, /包含要写入流的数据int offset, / buffer中开始写入数据的位置int size ) /要写入流的字节数8、内存流:(System.io名称空间) 概念:保存在内存中的数据流,以内存作为支持存储区,没有后备存储,可用做临时缓冲区 9、网络流(System.Net.Sockets名称空间) 概念:用于通过网络套接字发送和接收数据10、TCP是Transmission Control Protocol(传输控制协议)的简称,是TCP/IP体系中面向连接的运输层协议,在网络中提供全双工的和可靠的服务。TCP最主要的特点: (1)是面向连接的传输层协议; (2)每个TCP连接只能有两个端点,而且只能一对一通信,不能一点对多点直接通信。 (3)通过TCP连接传送的数据,能保证数据无差错、不丢失、不重复地准确到达接收方,并且保证各数据到达的顺序与数据发出的顺序相同。 (4)数据以字节流的方式传输。(5)传输的数据无消息边界。使用对套接字封装后的类,编写基于TCP的服务器端程序的一般步骤为:(1)创建一个TcpListener对象,然后调用该对象的Start方法在指定的端口进行监听。(2)在单独的线程中,循环调用AcceptTcpClient方法接受客户端的连接请求,并根据该方法的返回的结果得到与该客户端对应的TcpClient对象。(3)每得到一个新的TcpClient对象,就创建一个与该客户对应的线程,在线程中与对应的客户进行通信。(4)根据传送信息的情况确定是否关闭与客户的连接使用对套接字封装后的类,编写基于TCP的客户端程序的一般步骤如下:(1)利用TcpClient的构造函数创建一个TcpClient对象。(2)使用Connect方法与服务器建立连接。(3)利用TcpClient对象的GetStream方法得到网络流,然后利用该网络流与服务器进行数据传输。(4)创建一个线程监听指定的端口,循环接收并处理服务器发送过来的信息。(5)完成工作后,向服务器发送关闭信息,并关闭与服务器的连接。 TcpListener (System.Net.Socket命名空间) 在同步工作方式下, TcpListener类常用的方法:Start 启动监听,构造函数为:public void Start(int backlog) 参数backlog为请求队列的最大长度,即最多允许的的客户端请求连接个数;Stop 关闭TcpListener并停止监听请求,构造函数为:public void Stop();AcceptSocket 在同步阻塞方式下获取并返回一个用来接收和发送数据的Socket对象,同时从传入的连接队列中移除该客户端的连接请求。 AcceptTcpClient在同步阻塞方式下获取并返回一个封装了Socket的TcpClient对象,同时从传入的连接队列中移除该客户端的连接请求。 11、 UDP(User Datagram Protocol,用户数据报协议) 概念:udp是一个简单的、面向数据报的无连接协议,提供了快速但不一定可靠的传输服务。UDP与TCP相比主要有以下区别。 (1)UDP速度比TCP快(由于UDP不需要先与对方建立连接,也不需要传输确认,因此其数据传输速度比TCP快得多。) (2)UDP有消息边界(使用UDP不需要考虑消息边界问题,使用上比TCP简单) (3)UDP可以一对多传输(利用UDP可以使用广播或组播的方式同时向子网上的所有客户发送信息。 这一点也比TCP方便) (4)UDP可靠性不如TCP(与TCP不同,UDP并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。因此,通常人们把UDP称为不可靠的传输协议。) (5)UDP不像TCP那样能保证有序传输(UDP不能确保数据的发送和接收顺序。对于突发性的数据报,有可能会乱序。事实上,UDP的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才有可能发生。) UDP编程实现的方式(位于System.Net.Sockets命名空间) UdpClient UdpClient=new UdpClient(“”, 51888) 12、FTP 的主要功能如下:1. 提供文件的共享,包括程序文件和数据文件; 2. 支持间接使用远程计算机; 3. 使用户不因各类主机文件存储器系统的差异而受影响; 4. 使用TCP提供可靠且有效的传输 。13、 HTTP的请求与响应(1)GET请求(2)POST请求(3)HEAD请求HTTP响应客户端向服务器发送请求后,服务器会回送HTTP响应。HTTP响应的一般格式为:status-line headers blank line response-body 注意:对于HTTP响应来说,它与HTTP请求相比,唯一的区别是第1行中用状态信息代替了请求信息。状态行(Status Line)通过提供一个状态码来说明所请求的资源情况14、 什么是类? 一些具有共同特性的事物的抽象15、 什么是命名空间?命名空间是对类的一种逻辑上的分组,即将类按照某种关系或联系划分到不同命名空间中。16、可以用C#编写哪些类型的应用程序? (1) 控制台应用程序。 (2) Windows应用程序。 (3) 水晶报表应用程序。 (4) ASP.NET Web应用程序。 (5) ASP.NET Web服务应用程序。 (6) ASP.NET 水晶报表Web应用程序。 (7) 智能设备应用程序。17、Process类常用的属性和方法-获取进程实例-GetProcessById方法(静态方法):通过进程Id创建新的Process组件,并将其与本地计算机上的进程资源关联。 GetProcessById最多只有一个Process实例。GetProcesses方法(静态方法):获取本机所有进程GetProcessesByName方法(静态方法):获取本机上特定名称的进程-获取及设置优先级-B

温馨提示

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

评论

0/150

提交评论