实用程序设计与实例实验报告合集.docx
西华大学实验报告(理工类)开课学院及实验室:实验时间:年月日学生姓名学号成绩学生所在学院年级/专业/班课程名称课程代码实验项目名称实验一:VisualStudio2012基本操作练习项目代码指导教师项目学分一、实验目的1、熟悉ViSUaIStudio2012开发环境。2、了解.NET框架和C#语言概述。3、了解C#程序的基本编码规则。4、掌握C#的主要数据类型以及运算符和表达式。5、掌握C#中简单的流程控制。二、实验原理1、VisualStudio2012安装方案见教材所示。2、解决方案资源管理器窗口可以浏览当前项目包含的所有资源,也可以向项目中添加新的资源,或者修改、兔制和删除已经存在的资源。3、查看MSDN帮助文档按钮:FE4、常用的操作有:调试(点击调试后点击启动调试或者直接点击启动,快捷方式F5)、逐语句调试(Fl0)、逐过程调试(Fll)e5、C#主要数据类型:整数类型、实数类型、Unicode字符集、char(字符型)、String(字符串型)、bool(布尔型)、object(对象型)。6、变量的声明规则:数据类型名称变量名列表;变量的类型转换分为隐式转换和显示转换,显示转换也叫强制转换,显示转换的一般格式为:(数据类型名称)数据。另外C#还有进行数据转换的两个方法:Parse方法和ToString方法。7、C#的基本算术运算符:一元运算符有:-(取负)、+(取正)、+(增量)、一(减量)。二元运算符有:+(加)、-(减)、*(乘)、/(除)、%(取余)。8、C#的基本关系运算符:(大于)、(小于)、:(大于等于)、=(小于等于)、=(等于)、!=(不等于)。9、C#的基本逻辑运算符:!(非)、&&(与)、I|(或)。10、流程控制包括分支语句(if语句和SWitCh语句)、循环语句(WhiIe语句、dowhiIe语句、for语句、foreach语句)、跳转语句(goto语句、break语句、ConIinUe语句)。三、实验设备、仪器及材料WindOWS环境计算机、VisualStudio20121软件四、实验步骤(按照实际操作过程)1、根据教材中相关章节的介绍,运行VS2012安装包,进行开发环境的安装。2、进入C#集成开发环境,选择“文件>“新建”->“项目”,继续选择添加一个"Windows窗体应用程序”,输入项目名称,点击“确定”创建一个C#项目。3、点击视图选择工具箱,在工具箱中找到Iabel控件(2个)、TeXtBOX控件、button控件并分别拖拽至forml窗体中排好序。4、分别修改各个控件的属性:labell:Text:姓名:labe12:Text:TextBoxl:Name:txtinputButtonl:Name:btnConfirmText:确认5、在form1窗体中双击btnConfirm控件;6、将以下代码编写到btnConfirm_Click中:Iabel.2.Text="欢迎”+txt工nput.Text,T。String()+”登入;7、运行程序,在文本框中输入自己的姓名,点击确认按钮。8、记录实验结果,并撰写实验报告。五、实验过程记录(数据、图表、计算等)六、实验结果分析及问题讨论1、C#和.Net的关系?2、解决资源管理器窗口有何用途?3、如何调试一个程序?西华大学实验报告(理工类)开课学院及实验室:实验时间:年月日学生姓名学号成绩学生所在学院年级/专业/班课程名称课程代码实验项目名称实验二:C#面向对象程序基本设计项目代码指导教师项目学分一、实验目的1、理解C#中面向对象的思想。2、掌握类与对象的关系、方法与属性的使用方法。3、理解构造函数和析构函数用法。4、理解并正确区分“类库项目”、“程序集”、“命名空间”三个概念。5、掌握实例成员与类成员的区别,并掌握其特性和访问规则。6、掌握继承与多态的实现方法。7、了解委托与事件概念。二、实验原理1、面向对象是将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。2、面向对象包括四个基本特征:抽象、封装、继承与派生、多态性。3、类使用CIaSS关键字来定义,可以包含数据成员、方法、成员以及嵌套的类型成员。4、方法重载是指一个类有多个方法,名字相同,但方法的参数列表不一样。5、构造函数是一个与类名相同的函数,它的声明和普通方法类似,不同的是它没有返回值。6、“命名空间”是一个逻辑上的概念,它的物理载体是“程序集”,具体体现为“DLL”或“EXE”文件,在ViSUaIStUdio中,可通过创建“类库”类型的项目生成程序集。7、在类的声明中,通过在类名后面加上冒号,再跟上基类名称来表示继承关系。8、态性的一个重要特征是方法的调用是在运行时确定而不是编译时。9、委托用于将方法作为参数传递给其他方法。与委托的签名(由返回类型和参数组成)匹配的任何可访问类或结构中的任何方法都可以分配给该委托。三、实验设备、仪器及材料Windows环境计算机、VisualStudio2012软件四、实验步骤(按照实际操作过程)(一)日期统计程序的面向对象实现1、题目要求:请用面向对象的方法求解此问题:从2008年7月8日到2015年4月6日之间一共有多少天?2、实现步骤:(1)按照实验一当中的方法,创建一个控制台应用程序。(2)在此项目中添加一个名为CalCUIateDateS的类。具体方法参见教材56页实现步骤2当中的方法。(3)在该类中实现如下图所示的五个函数,其中函数名前面标注为+号,表示此函数是公有函数,用PUbIiC来声明,标注-号为私有函数,用PriVate来声明。这几个函数的具体实现代码参见教材31-35页。CaIcuIateDates+CalcuIateDaysBetweenDatesO-GetDaysBetweenYearsO-GetDaysBetweenMonthDateO-GetDaysByMonthIndexO-IfLeapYearO图1(4)实现main函数,验证此类。Main函数的实现代码参见教材36页。(二)类成员与实例成员使用示意:银行账户问题1、题目要求:模拟一个银行账户系统,假设用户账户由系统自动产生,第一个顾客的账户为201500001,第二个顾客的账户为201500002,第三个顾客的账户为201500003。运行结果如图2所示.图22、实现步骤:(1)参考教材55页案例2-4(三)委托与事件综合案例1、题目要求:通过实现一个汽车档位模拟程序,演示如何通过委托来定义事件。运行结果如图3所示.图32、实现步骤:(2)参考教材73页案例2-7五、实验过程记录(数据、图表、计算等)六、实验结果分析及问题讨论1、在第一个计算日期的程序当中,尝试直接使用.NET提供的类库来实现此功能。2、什么是类?什么是对象?它们之间的关系是怎样的?3、说明类成员与实例成员的区别?西华大学实验报告(理工类)开课学院及实验室:实验时间:年月曰学生姓名学号成绩学生所在学院年级/专业/班课程名称课程代码实验项目名称实验三:面向对象入门一计算器设计项目代码指导教师项目学分一、实验目的1、学会对WinfOnn程序的开发。2、熟练运用类、方法3、理解方法中参数的传递。4、利用C#语言实现一个计算器控制台程序,要求输入两个数以及运算符号,最终得出计算结果。5、理解简单程序中的面向对象思想的应用。二、实验原理1、看似简单的计算器程序却有非常多的实现方法,能够体现出非常多的编程思想,比如,可以有控制台的实现方法,可以有WindowsForm的实现方法,也可以有WPF(WindowsPresentationFoundation,Windows呈现基础)的实现方法,有面向过程的实现方法,也有面向对象的实现方法。2、面向对象的基本思想是使用对象、类、继承、封装和消息等基本概念来进行程序设计。在实现过程中尽量体现面向对象思想。3、可以利用“简单工厂模式”优化程序。三、实验设备、仪器及材料WindOWS环境计算机、VisualStudio2012软件四、实验步骤(按照实际操作过程)1、要求:利用C#语言实现一个如图I所示的Windows环境的简单计算器,要求尽量使用面向对象的程序设计思想。国回国Calculator图12、具体的实现步骤参考教材83页案例3-2五、实验过程记录(数据、图表、计算等)六、实验结果分析及问题讨论4、面向对象技术的核心特性是什么?5、什么是虚函数?如何声明一个虚函数?6、虚函数应该如何被使用?西华大学实验报告(理工类)开课学院及实验室:实验时间:年月日学生姓名学号成绩学生所在学院年级/专业/班课程名称课程代码实验项目名称实验四:常规Gln程序设计项目代码指导教师项目学分一、实验目的1、学习GUl程序设计的基本方法。2、掌握图形界面的使用基础。3、掌握菜单、工具栏和状态栏的使用方法。4、学习基本控件的使用方法。二、实验原理1、GUl程序设计的基本方法包含以下四个方面:建立Windows窗体应用程序;在项目中定义一个或者多个窗体;使用工具箱设计窗体界面;为窗体和空间添加事件处理程序;2、图形界面使用基础主要要求对控件的学习及使用。3、菜单的使用方法:VS提供的简易的菜单控件,可快速实现带菜单功能的WinForm窗体。在VS工具箱中,选择“菜单和工具栏组”的“McnuStrip”控件,将其托放在WinFonn窗体中即可。4、工具栏的使用方法:同菜单控件一样,VS提供了TooIStriP和ToolStripContainer两个控件来实现WinForm窗体上的工具栏。控件名称功能描述ToolStripButton表示一个按钮。用于带文本和不带文本按钮ToolStripLable表示一个标签。这个控件还可以显示图像,也就是说这个控件可以用于显示一个静态图像ToolStripSplitBUtton显示一个右端带下拉按钮的按钮,单击下拉按钮,就会在它下面显示一个菜单。TlStripDropDownButton类似TOOlStriPSPIiButton,唯的区别是去除了下拉按钮,代之以下拉数组图像。TooistripComboBox显示一个组合框ToolStripProgressBar在工具栏上嵌入一个进度条ToolStrpTextBox显示一个文本框ToolStripSeparator为每个项创建水平或垂直分隔符5、在VS的工具箱中还有一组公共控件是要经常用到的,这组控件种类相对较多,使用频率也相对较多。具体说明见教材。三、实验设备、仪器及材料WindOWS环境计算机、VisualStudio20121软件四、实验步骤(按照实际操作过程)1、要求:综合运用窗体、菜单、工具栏、状态栏和基本控件,设计实现一个简易聊天客户端界面。2、具体的实现步骤参考教材105页案例4-1。五、实验过程记录(数据、图表、计算等)六、实验结果分析及问题讨论7、GUl程序设计的优点是什么?8、设计一个WindOWS应用程序,窗体上有一个RiChTeXtBOX控件和一个BUttOn控件。当用户单击按钮时,文本框会增加一行文字来反映单机次数。如“第三次单击按钮”西华大学实验报告(理工类)开课学院及实验室:实验时间:年月日学生姓名学号成绩学生所在学院年级/专业/班课程名称课程代码实验项目名称实验五:图形图像和多媒体编程练习项目代码指导教师项目学分一、实验目的1、掌握使用GDI+来进行绘图的方法。2、掌握直接使用GDI+进行数据图形展示的方法。3、会使用C#进行简单的图像处理。4、在C#中可以使用几种控件进行声音或者视频的播放。5、了解DirectX是微软开发的多媒体应用程序接口(API)二、实验原理1>GDI(GraphicsDeviceInterface,图形设备接口)主要用于在WindoWS平台上编写图形程序,从程序设计的角度看,GDI包括GDI对象和GDI函数两部分。2、GraPhiCS类封装了一个GDI+绘图图面,提供将对象绘制到显示设备的方法,GraPhiCS与特定的设备上下文关联,画图方法都被包括在GraPhiCS类中。3、GDI+(GraphicsDeviceInterfacePlus,图形设备接口)提供了各种丰富的图形图像处理功能。4、在C#中进行图像处理一般都是通过InIagC类及其派生类来实现的。IinagC类封装了对BMP、GIF、JPGEXIF、PNG>TlFF和ICoN图像文件的调入、格式转换以及简单的处理功能。5、BitmaP对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成。6、GetPixel方法和SetPixel方法:获取和设置一个图像的指定像素的颜色。7、在C#中可以使用Soundplayer类播放wav声音,使用WindowsAPI播放MP3,使用WindowsMediaPlayer控件播放音频或视频,使用ShockWaveFlash控件播放FlaSh文件。8、在C#中,可以引用Windows自带的WindowsMediaPlayer组件播放多种格式的音频文件和视频文件,所支持的音频文件和视频文件格式由电脑系统安装的解码器决定。三、实验设备、仪器及材料Windows环境计算机、VisualStudio2012软件四、实验步骤(按照实际操作过程)(一)图像处理程序I、要求:利用C#创建一个如图1所示的图像处理程序,对图像进行底片效果、浮雕效果和黑白效果的变换显示。(二)媒体播放程序设计1、要求:利用WindowsMediaPlayer组建实现一个如图2所示的多媒体播放器。2、具体的实现步骤参考教材139页案例5-5.五、实验过程记录(数据、图表、计算等)六、实验结果分析及问题讨论9、GraPhiCS类的常用方法有哪些?他们分别的功能是什么?10、 在C#中进行图像处理一般通过什么方法?11、 彩色图像处理成黑白效果通常有3种算法,分别是最大值法、平均值法和加权平均值法。请通过实验验证其效果的区别,并将结果展示在下面。西华大学实验报告(理工类)开课学院及实验室:实验时间:年月曰学生姓名学号成绩学生所在学院年级/专业/班课程名称课程代码实验项目名称实验六:文件操作项目代码指导教师项目学分一、实验目的1、了解C#对于不同类型文件的读写方式。2学会使用System.10.File和System.10.FileInfo两个类用来对文件进行操作。3、学会使用C#进行常用的文件操作。4、学会使用System.10.Directory和System.10.DirectoryInfo两个类来对目录进行操作。5、掌握C#对XML的操作方法。二、实验原理1、文件与目录管理是操作系统的一个重要组成部分,包括文件和目录的创建、移动、删除、复制以及对文件的读写等操作。对于不同类型的文件C#提供了不同的读写方式。2、SySteln.10.File类的成员都是静态的,多用于对文件的一次性操作,SyStCin.10.FileInfo类是实例化类,多用于对文件的重复操作,可根据实际情况合理选用适合的文件操作类。3、C#提供多种方式用于实现某一特定文件操作,包括:创建文件、读取文件、追加内容、复制文件、删除文件、移动文件等。4、DireCto灯类提供用于创建、移动和枚举目录和子目录的静态方法,在使用时需要引用SyStenl.IO命名空间。5、DireCtOrylnfo类提供用于创建、移动和枚举目录和子目录的实例方法。6、C#提供多种方式用于实现某一特定目录操作,包括:创建目录、删除目录、移动目录、创建子目录、枚举目录中的目录名、枚举目录中的文件名、判断目录是否存在等。7、XML(可扩展标记语言)可以对文档和数据进行结构化处理,被广泛应用于在网络上传输和存储数据。8、序列化就是将对象的状态信息转换为可以存储或传输形式的过程,就是将对象持久化比如把对象保存为二进制或者XML的方式。三、实验设备、仪器及材料WindOWS环境计算机、VisualStudio2012软件四、实验步骤(按照实际操作过程)1、要求:将来自于网络上的水浒108个人物的信息从一个文本文件中抽取出任务信息字段,包括每个人物的“所属星”、“绰号”、“姓名”、“说明”,将抽取出来的信息字段按人物逐条写入形成一个Excel文件,实现对水浒108个人物信息的整理。待整理的水浒108个人物信息存在于一个名为“水浒人物(待整理).txt”的文本文件中。2、具体的实现步骤参考教材156页案例6-1。3、以上述信息为基础,建立一个水浒人物信息类,并将其内容序列化成XML文件保存在电脑上。五、实验过程记录(数据、图表、计算等)六、实验结果分析及问题讨论12、 简述文件操作类包含哪些?13、 使用序列化的优点是什么?西华大学实验报告(理工类)开课学院及实验室:实验时间:年月曰学生姓名学号成绩学生所在学院年级/专业/班课程名称课程代码实验项目名称实验七:数据库编程项目代码指导教师项目学分一、实验目的1、了解数据库管理、数据库、数据模型、概念模型的基本概念。2、掌握数据定义、数据操作、运行控制的操作。3、学会使用SQLServer2008进行数据库操作。4、掌握数据库的基本操作。二、实验原理1、数据库管理系统的主要功能包括数据定义、数据操作、运行控制等。本实验将基于老师提供的数据库进行基本的操作。2、AD0.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、EXCEL表格或者XML文件。ADO.NET提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用不同的类库。这些类库称为DataProviders,根据它们所使用的不同的协议来与不同的数据源交流。ADO对象中包含了连接、命令、记录集和参数对象等。3、数据绑定是将一个用户界面元素,也就是控件的某个属性绑定到一个对象实例上的某个属性的方法。利用数据绑定可以直接将数据库中的数据和界面当中的控件内容实时关联起来。三、实验设备、仪器及材料Windows环境计算机、VisualStudio2012软件四、实验步骤(按照实际操作过程)注:由于实验条件限制,并没有专门安装SQL2008软件,因此我们暂时用access数据库文件来做验证,所有方法都是类似的。1、启动ViSUaISIUdio2012,依次在菜单中选择“工具”、“连接到数据库”。弹出如图1所示的界面。选择其中的access数据库文件,然后点击继续。球效据整数据源(S):IMiCrOSOft ACCeSS 数晔文件Microsoft ODBC 数据源Microsoft SQL ServerMicrosoft SQL Server ftS/TS:件Oracle数第库 其他数嵬提供程序(P):用于 OLEDB 的.NET Framework 数据日始终使用此选择(U)使用此选择通过用于OLE DB的.NET Framework数据提供程序连接到 Microsoft Access 数据廛文件.燧续取消2、在图2中浏览选择文件,如图2,然后点击测试连接,得到图3的结论,然后确定,然后就可以在服务器资源管理器当中看到数据库的相关信息,如图4。MicrosoftVisualStudio×测接则.确定服务器资源管理器4XDt>WMQ*EAzure侏连接)0iSharePoint连接三服务器事数据连接/Rtest.accdb,表簿霸Stulnfo视图t>存储过程t>函数图43、参考教材190页案例7-2完成数据绑定程序。和案例中不同的是,试验中提供的数据库包括了五个字段,分别是:,都需要在程序中将其反映出来。另外需要注意的是,如果在进行数据绑定的时候,如果出现如图5所示的无数据源的情况,请通过下面的“添加项目数据源”按钮添加第一步中加入的数据源。具体操作参考后面的图示。在图10所示界面,选中所有的表,然后点完成,之后就可以按照教材中图7-20类似的方法进行数据绑定了。余下操作不再赘述。田(AppIicationSettings)H(DataBindings)(Advanced)TagText(无)(Name)AcceptsReturnAcceptsTabAccessibIeDeicriAccessibIeNameAccessiWeRoIeAIIowDropAnchorAutoCompIeteCiAutoCompIeteMAutoCOmPteteSBackCoIorBorderStyIeCeuscsVeIidetiorCharaCterCaSing*8添加项目数膏西单击添加项目数循言燧接以连接到数湾.由用程琳将从三SW1(W)?83MS*.KfiWSMPow选择例的数据连接WE3(C).应用程序连触悔度加使用RB个数揖连接(Wptest.ccdb此在接字符串中似乎包含i接翎斓所需的敏初孀(例如密码),附在连接字符电中存册感数据会带来安全风险.是否在连接字符串中包含敬感期?否.从连接字符串中排除国感数寇.我将在应用程用代码中设置此信息(E).B.在连搜字符串中包含8WNKW).将保存到应用程序中的连接字符串(展开可食细信库)(三)下f (N) >Provider=Microsoft.ACE.OLEDB.12.0:DataS。UrCe=X:同步京西华课程资料供用程序设计与实例分析2016-2017±testaccdb<上FP)数据诙配U向导将连接字符串保存到应用程停配文件中在应用程序配两文件中存储连接字符串可筒磔炉町部罟工作.要在应用程序e咫文件中保存连接字符串.请在椎中殆入一个名杯再市'下一步”.是否将连接字符器保存到应用程厚配宜文件中?是,格连接保存为(Y):testConnectionStfing<上T(P)I下-WD>取消数靠图配内向导透择数掘库的软堤希SS/零葭中包含事发救塞座可象Z)?DataSet SfJW): IestDaUSet<±<P)Ietf)图10选中所有表再点完成五、实验过程记录(数据、图表、计算等)六、实验结果分析及问题讨论1、什么是数据绑定?数据绑定有什么优点?西华大学实验报告(理工类)开课学院及实验室:实验时间:年月日学生姓名学号成绩学生所在学院年级/专业/班课程名称课程代码实验项目名称实验八:多线程和并行程序设计项目代码指导教师项目学分一、实验目的1、了解多线程和并行的基本概念。2、掌握多线程的创建方法。3、学会启动线程并执行命令。4、学会使用BackGrounclWorker类。5、了解异步编程基本概念以及学会基于委托的异步编程。二、实验原理异步编程的基础是委托与多线程,基于委托的异步编程,BeginTnvoke是实现异步调用的核心。.NETFramework允许异步调用任何方法。为此,应定义与要调用的方法具有相同签名的委托;公共语言运行时会自动使用适当的签名为该委托定义BeginTnvokellEndTnvoke方法。BeginTnvoke方法启动异步调用。该方法与需要异步执行的方法具有相同的参数,还有另外两个可选参数。第一个参数是一个AsyncCallback委托,该委托引用在异步调用完成时要调用的方法。第二个参数是一个用户定义的对象,该对象将信息传递到回调方法。BeginInvoke立即返回,不等待异步调用完成。BeginInvoke返回一个IASynCReSU13后者可用于监视异步调用的进度。EndInVoke方法检索异步调用的结果。在调用BeginlnVoke之后随时可以调用该方法。如果异步调用尚未完成,则EndInvoke会一直阻止调用线程,直到异步调用完成。EndTnvoke参数包括需要异步执行方法中的OUt和ref参数(在ViSUalBasic中为ByRef和ByRef)以及由BeginInvoke返回的IAsyncResult。有四种使用BeginInvoke和EndInvoke进行异步调用的常用方法。调用了BeginlnVoke后,可以:1 .进行某些操作,然后调用EndTnvoke一直阻塞到调用完成。2. 使用IAsyncResulxAsyncWaitHandle获取WaitHandle,使用它的Waitne方法将执行一直阻塞到发出WaitHandle信号,然后调用EndInvokeo这里主要是主程序等待异步方法,等待异步方法的结果。3. 轮询由Beginlnvoke返回的IAsyncResult,IAsyncResult.IsCompeted确定异步调用何时完成,然后调用Endlnvokeo4. 将用于回调方法的委托传递给BeginInvokeo该方法在异步调用完成后在ThreadPoOI线程上执行,它可以调用Endlnvokeo这是在强制装换回调函数里面IAsyncResulLAsyncState(Begir)Invoke方法的最后一个参数)成委托,然后用委托执行Endlnvokeo需要注意的是,必须保证始终在异步调用完成后调用Encllnvokeo从实际使用效果来看,只有第四种使用回调函数的方法才能够真正意义上不阻塞,前三种方法都容易阻塞主线程,从而导致主程序界面“假死”的情况。三、实验设备、仪器及材料WindOWS环境计算机、VisualStudio2012软件四、实验步骤(按照实际操作过程)1、要求:利用C#语言验证基于委托的异步编程模式。2、在VS2012中建立一个控制台应用程序。3、参考教材221页输入代码。4、运行并验证。五、实验过程记录(数据、图表、计算等)六、实验结果分析及问题讨论1、具体来说,该实验当中的程序用的四种当中的哪一种异步调用方法?2、异步调用有什么优点?西华大学实验报告(理工类)开课学院及实验室:实验时间:年月日学生姓名学号成绩学生所在学院年级/专业/班课程名称课程代码实验项目名称实验九:网络通信程序设计项目代码指导教师项目学分一、实验目的1、了解IP地址、域名、端口号、协议的基本概念。2、了解两种网络协议TCP、UDP的基本概念。3、掌握IPAddress类和IPEndPoinl类的基本属性。4、掌握服务端程序与客户端程序的结构。5、学会面向连接的套接字编程。二、实验原理1、网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通信。网络编程中有两个主要的问题:一是如何准确地定位网络上一台或多台主机,另一个就是找到主机后如何可靠、高效地进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一的确定Inlemel上的一台主机。而TCP层则提供面向应用的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。2、套接字是源IP地址和目的IP地址以及源端口号和目的端口号的组合。要通过Internet进行通信,至少需要一对套接字,其中一个运行在客户端,称之为ClientSocket,另一个运行于服务器端面,称为ServerSocketo根据连接启动的方式以及本地要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听、客户端请求、连接确认。3、在使用面向连接的套接字时(TCP),我们首先必须要知道建立这个连接的过程,也就是我们常说的三次握手的过程,连接建立好之后,再进行数据的传输,数据传输完毕则关闭连接,此时,基于连接的通信则要进行四次挥手过程才能断开整个连接。4、使用UDP协议进行网络通信,不需要事先建立连接,知道对方的地址即可发送或接收数据。三、实验设备、仪器及材料Windows环境计算机、VisualStudio2012软件四、实验步骤(按照实际操作过程)要求:设计一个Windows窗体应用程序,能够实现一对一聊天。具体实现步骤参考教材239页案例9-3.五、实验过程记录(数据、图表、计算等)六、实验结果分析及问题讨论1、什么是套接字?2、TCP和UDP有什么区别?西华大学实验报告(理工类)开课学院及实验室:实验时间:年月曰学生姓名学号成绩学生所在学院年级/专业/班课程名称课程代码实验项目名称实验十:面向硬件的程序设计项目代码指导教师项目学分一、实验目的1、了解IVMl编程的基本概念。2、了解如何使用设计基于C#的上位机程序。3、学会基于C#的串口通信方法。4、了解SerialPort控件的基本属性。5、学会设置串口属性、串口操作、数据发送与数据接收。二、实验原理1>通过WMl可以获取远程计算机的各种数据信息,控制远程计算机的各种行为。2、WMl通过一组APl来获得信息,但它表征的是一种通过一个简单的工业标准对象管理模式来获取信息的函数3、使用命名空间”SystemManagemenl"的核心成员:ConnectionOptionManagementScope>ObjectQueryManagementObjectSearcher>ManagementobjectColIectionManagemcntObject进行WMI编程。4、SeriaIPort类用于控制串行端口文件资源。该类提供同步和事件驱动I/O、对插针和中断状态的访问以及对串行驱动程序属性的访问,主要用于实现串口通信。三、实验设备、仪器及材料WindoWS环境计算机、VisualStudio2012软件四、实验步骤(按照实际操作过程)1、要求:利用C#语言和WMl实现一个可以读取电脑的硬件信息的程序,主要功能如图1所示。4发的电拓信息CW显卡内存主板Wlntd(R)Core(D!)H7250UCPUT3H7SystwSwe:!UCAIR:Intel64Fwily6Moel69Steppinc1OSS=90JIftX矮解理磐S:1的t弱!爨:«湾电谢穗城造:'央处理25生L冢:Gnuiftltl2、具体的实现步骤参考教材257页案例Io-L五、实验过程记录(数据、图表、计算等)六、实验结果分析及问题讨论1、如何利用WMl获取更多的信息?