关键词不能为空

当前您在: 大学查询网 > 大学 >

明大学《C#面向对象程序设计(下)》实训指导书

作者:高考题库网
来源:https://bjmy2z.cn/daxue
2020-11-29 11:52
tags:

成都中医药大学陈明岭-成都中医药大学陈明岭

2020年11月29日发(作者:段永康)




黎明职业大学计算机与信息工程系







C#

程序设计(下)



实训指导书











2009

12









C#

程序 设计(下)

》实训大纲

......................... .................................................. ............ 1


实训一

网络聊天工具

............................. .................................................. ..................... 4


实训二

排序算法的演示

.

..... .................................................. ......................................... 6


实训三

简单游戏制作

.................................................. .................................................1 1


附件一:实训日志模板

............ .................................................. .................................... 15


附件二:实训报告模板

..................... .................................................. ........................... 19


附 件三:实训评分标准

…………………………………………………………………………

20




C#

程序设计(下)

》实训大纲


适用:计算机应用技术

08


学时:

30

学分:

1


一、实训目的:


C#

程序设计实训(下)

》课程是软件专业以及与软件有关的专业的岗位技能核心课程。


本课是集于理论与实践一体的综合应用课程。通过学习本课程学生初步掌握面向对象程序设< /p>


计的概念以及在

.NET

平台下开发应用程序的技能。主要 目的是让学生通过实训熟悉

C#

语言


的语法,面向对象的 程序设计设计思路,运用

Visual

C#.NET

平台开发< /p>

Windows

应用程序,


数据库应用程序以及网络应用程 序等。


二、实训内容和要求


1

掌握

.net

中用于读写文件及管理文件系统 的类,

能够使用

.net

中的

IO

操作进行高级应


用程序开发。


2

、掌握各种存储数据的数据结构,如动态数组、队列、栈、哈稀表以及他们的泛型,并


能在应用程序中灵活应用。


3

、理解委托和事件,掌握 在应用程序中使用写代码的形式给控件注册事件。


4

、 掌握实现异步的方法,包括使用委托和在窗体应用程序下使用

BackgroundWork

来实


现。


5

、掌握 使用

GDI+

绘图的基本方法。


6

、掌握简单的网络编程方法。


7

、掌握

的结构以及用

访问数据 库的一个简单模型。


8

、在编写程序过程中,培养预测 和寻找错误的能力,并能正确处理错误和异常。


9

、初步掌握编制软件文档。


10

、懂得制作安装程序


具体内容见实训指导。


三、先修课程


《程序设计基础》

C#

程序设计(上)

、< /p>

《数据结构》


四、参考文献


[1]

张立,

《程序天下:

< p>C-#2.0

实例自学手册

-200

个例子》

,电子工业出版社,

2008


[2]

章立民研究室,

V

isual.C#.2005 .

程序开发与界面设计秘诀》

.

机械工业出版社 ,

2006


[3]

代方震,陈冠军,

V

isual c#2005

程序设计从入门到精通》

,人民邮电出版社,

2007

< p>


1



[4]

王小科等,

V

isual C#2005

程序设计自学手册》

,人民邮电出版社,

2008


[5]

邵鹏鸣,

C#

面向对象程序设计》

,清华大学出版社,

2008.4


[6]

万科、覃剑,

Visual C#.NET

程序设计基础与上机指导》

,清华大学出版社,

2007.3


[7]

张华、吴浩东,

Visual C#

程序设计教程与上机指导》

,清华大学出版社,

2005.3


[8]

杨晓光等,

Visual C# .NET

程序设计——习题解析与实习指导》

,清华大学出版社,

2007.1


五.学时分配


学时分配


序号


1


2


3


4


5




实训内容


总学时


实训一

网络聊天工具


实训二

排序算法的演示


实训三

简单游戏制作


实训交流


实训报告


合计


10


8


8


2


2


30


理论学时

实践学时








10


8


8


2


2


30


六.操作与考核办法


采取提交电子材料与实训操作相结合的方法进行考核。


1

、实训操作办法


1

)学生实训以小组为单位,小组人数以

3~5

人为宜。< /p>


2

学生实训时认真做 好小组分工和实训计划,

并书写需求分析报告、

总体设计说明书

< br>和详细设计说明书及测试报告,这些材料一并包含在课程实训说明书中,以电子稿或打印稿


方式提交,同时每个小组必须提供完整的源程序代码。


3

教师应在小组成绩的基础上认真评定个人成绩,

并 对学生的课程实训说明书进行批


改。


4

指导教师在实训开始前,

布置若干个难度适中的实训 课题供学生选用。

鼓励学生自


选课题,但要经指导教师审核。

< p>


2

、学生在完成实训后须提交如下电子文档:

< /p>


1

)把所设计的程序传到

FTP

服务器上。


2

)完成实训任务的详细日志。


3

)实训的实施过程

(

包括 主要的步骤以及所使用的方法

)


2



4

)实 训中出现的异常情况及解决办法。


5

)对实训改进的探讨。

< p>
3

、成绩考核评定(具体项目评定见附件三)


(1)

积极参与课程实训,按质按量完成课程实训要求。


(2)

出勤情况,占

20%.


(3)

在项目开发过程中完成的工作量,占

30%.


(4)

对开发的项目涵盖的知识点的掌握情况,占

40 %


(5)

项目中有新功能或创意,占

10%


七、参考课题


1

、文件管理器的实现


2

、综合性绘图工具


3

、网络聊天工具的实现


4

、简单网络游戏的实现


5< /p>

、电子邮箱的实现(需自学

POP3

协议和

SMTP

协议)


6

、移动通信管理和收费系统的实现


7

、数据库管理信息系统的设计与实现


8

、游戏算法的设计与实现


9

、某个算法的实现和过程演示


10

、其它

(

自己寻找课题,需经指导教师认可

)


附件:


1

、实训日志模板


2

、实训报告模板


3

、实训评分标准


3



实训一

网络聊天工具


一、实训目的:


1

、掌握使用同步的方式进行双机通信,进而学会使用异步的方式进行通信。< /p>


2

、将对象在网络中传输的方法。


3

、掌握多线程间调度的知识。


4

、掌握

的结构,并能使用

访问 数据库。


5

、应用

MDI

相关的属性创建多文档窗体,熟练掌握

WinForms

控件的使用。


二、实训内容:


程序功能:

在本实训项目中,

我们要求 实现一个简单的在线聊天工具,

它提供基本的聊


天功能。要求能够实现登 陆判断、维持在线用户列表,支持群聊和私聊等功能。该应用程序


的结构为一个客户机< /p>

/

服务器结构,要求设计的功能有两个方面:

1

、服务器端:管理着聊天任务,它维持着一张当前在线用户的列表,转发用户发来的信


息,主要功能如下:


1

)监听本机

IP

地址中的一个指定的端口。


2

)所有合法用户的数据存放在

SQL

数据库中。


3

当 有客户端向该端口发出请求时,

服务器程序立刻建立一个与该客户端的连接并启

< br>动一个新的线程来处理该客户端的所有请求。


4

服务器端根据客户端发送来的各种不同的请求,

执行相应的操 作,

并将结果返回给


该客户端。要求至少定义四种请求命令:

< p>CONN

(请求登陆)

CHAT

(聊天)

PR IV

(私聊)


EXIT

(离开)

,服务器 接收

ASCII

字符信息,用“

|

”分隔信息的各 个部分,一个信息包含一


条命令,一个或多个信息参数。简单命令格式如下:

< p>


A

CONN|

用户名

|

密码

|

该命令是在客户端和服务器端连接后由客户端程序登陆时发< /p>


送,服务器程序收到该命令后会将用户名和密码与所连接数据库的“用户”表进行比对,若


是合法用户,允许登陆,添加到在线用户列表,同时向每个在线用户发送更新在线用户列 表


的命令;否则发送错误信息。


B

< p>:

CHAT|

发送者的用户名:发送信息的内容

|

该命令是用户在客户端程序界面中输


入发送信息的内容后,单击“发送”按钮后,由客户端程序自动发送,服务器程序收到该命


令后,便将“发送者的用户名:发送信息的内容”转发给所有的当前在线用户。


C

PRIV|

发送者的用户名

|

接受者的用户名

|

发送信息的内容

|

该命令是用户在客户端

应用程序中选中“悄悄话”复选框(私聊)

,输入发送信息内容并单击“发送”按钮后,由客


4



户端应用程序自动发送,服务器收到该命令后,将“发送者的用户名

send

to

接受者的用户


名:发送 信息的内容”转发给对应的接收者。


D

EXIT|

用户名

|

该命令是用户在客户端程序中单击“离开”按钮后,由客户端 程序


自动发送的,

服务器应用程序收到该命令后,

将发送 者的用户名从当前在线用户列表中删除,


并给当前在线的用户发送更新在线用户列表的命 令。


2

、客户端:包含用户登陆窗口和用户聊天的主窗 口,它允许用户登陆到服务器,可以向


服务器发送信息,同时可以接收从服务器返回的信 息,要求设计的主要功能如下:


1

)向远程服务器发送连接请求


2

)得到服务器程序的确认后,建立于服务器的连接,并获 得与服务器交互的流通道


NetworkStream


3

< p>通过网络流通道与服务器端进行数据通信。

向服务器发送服务器能够识别的命令请

< p>
求,同时也接收服务器发回的命令。客户端能够识别的命令有

ERRO

(通知用户名和密码错


误)

JOIN

(通知当前在线用户有新的用户进入聊天室)

LIST

(更新当 前在线用户)

QUIT


(关闭客户端程序)

。客户端接收

ASCII

字符信息,用“

|

”分隔信息的各个部 分,一个信息


包含一条命令,一个或多个信息参数。简单命令格式如下:


A

ERRO|

< /p>

该命令是服务器验证身份时,用户名或密码错误,向客户端发送的,客户


端 收到此命令后,可以关闭与服务器的连接或重新登陆;


B

JOIN|

刚刚进入聊天室的用户名

|

该命令是服务器程序确认一个用户登陆后,由服


务器自 动向当前在线的客户端发送的,

以此来通知所有在线用户此时有新的用户进入聊天室,

< p>
客户端收到此命令后,在各自的窗口中显示此用户已进入聊天室;


C

LIST|

在线用户

1|

< p>在线用户

2|

在线用户

2|

|

该命令是服务器程序确认一个用户登陆

< br>或

EXIT

命令后,由服务器自动向当前在线的客户端发送的,以此来通知 所有的在线用户刷


新自己的当前在线用户列表,客户端程序收到此命令后,在各自的窗口 中刷新当前在线用户


列表;


D

QUIT|

< /p>

该命令是服务器程序收到客户端发送来的

EXIT

命令后,

由服务器自动向该


客户端发送的,

以便通知该客户端关闭连接同时 关闭客户端程序,

客户端程序收到此命令后,


关闭与服务器的连接,并且 关闭客户端程序。



5




1-1

服务器端



1-2

客户端登陆窗口





1-3

客户端登陆提示


6





1-4

客户端聊天主窗体


三、相关知识:


TcpListener

TcpClient

类实现了对

Socket

的封装,简化了网络编程模型。


1

、使用

TCP

服务


TCPClient

类使用

TCP

Internet

资源请求数据。

TcpClient

的方法和属性提取某个


Socket

的创建细节,该实例用于通过

TCP

请求和接 收数据。由于到远程设备的连接表示为


流,因此可以使用

.NET Framework

流处理技术读取和写入数据。


要建立

TCP

连接,必须知道承载所需服务的网络设备的地址以及该服务用于通信的


TCP

端口。

IANA

列表中所没有的服务可使用

1,024

65,535

这一范围中的端口号。


2

< p>TCP

协议通信的流程


TCP

协议 是面向连接的协议,

它的实现需要数据发送方和数据接收方建立数据通信连接,

< br>它的具体流程如下:


1

)服务器端首先创建服务器套接字


2

)服务器套接字监听一个端口,等待客户端的请求< /p>


3

)客户端创建一个客户端套接字


4

)客户端向服务器端发送连接请求


5

)服务器确认与客户端的连接


7



< p>6

)客户端和服务器利用建立的连接进行通信


(< /p>

7

)通信完毕后,客户端和服务器关闭各自的连接


3

Socket

编程基础

< p>
同步服务器套接字挂起应用程序的执行,直到套接字上接收到连接请求。同步服务器套


接字不适用于在操作中大量使用网络的应用程序,但它们可能适用于简单的网络应用程序。

< p>


使用


Bind



Listen


方法设置


Socket


以在终结点上侦听之后,


Socket


就可以随时使用



Accept


方法接受传入的连接请求了。应用程序被挂起,直到调用


Accept


方法时接收到连接


请求。接收到 连接请求时,


Accept


返回一个与连接客户端关联的新


Socket


实例。



?

利用

Socket

建立服务器程序


1

要用

Socket

创建一个

TCP

服务器套接字,

IP

地址和端口初始化服务器,

代码如


下:


private const int portNum = 13;


IPAddress ipAdd = (


TcpListener listener = new TcpListener(ipAdd, portNum);


2

)监听服务器端口,代码如下:


();


3

)确认与客户端的连接:


Socket socket = Socket();


(< /p>

4

)处理客户端的请求并回应客户端,下面的代码演示了向客户端发送字符串:


String message=


Byte[]outbytes = es(Array());


(outbytes, , 0);


5

)断开客户端的连接,释放客户端连接:


();


6

)关闭服务器,释放服务器连接:


();



?

利用

Socket

建立客户端程序


要用

Socket

建立一个

TCP

客户 端程序,一般需要以下几个步骤


1

)创建客户端套接字:


TcpClient tcpclient=new TcpClient();


8



2

)连接服务器:

< br>t((

219.220.126.6

) ,1234);


3

)得到与服务器通信的流通道:


NetworkStream Strm=eam();


4

)向服务器发送数据:


String cmd=


Byte[]outbytes = es(Array());


(outbytes,0,);


5

)接收从服务器发回的数据:


Byte[] buff=new byte[1024];


int len=(buff,0,);


string msg=ing(buff,0,len);


6

)断开连接:


();


3

结构


1

提供访问各种数据源的方法。应用程序可以使用

连接到诸


SQL Server

XML

这样的数据源以及通过

OLE DB

ODBC

公开的数据源,

并 可以


检索、处理和更新其中包含的数据。

< p>

2

用于访问和操作数据的两个主 要组件是

.NET Framework

数据提供程序


DataSet


3

.NET

Framework

数据提供程序是专门为数据操作以及快速、只进、只读访问 数据


而设计的一组组件,包括

Connection

对象 、

Command

对象及

DataReader

DataAdapter

等。


4

DataSet

是专门为独立于任何数据源的数据访问而设计的。因此,数据,或用于管


理应用程序本地 的数据。

它可以用于多种不同的数据源,

用于

XML DataSet

包含一个或多个


DataTable

对象的集合,这些对象由数据行和数据列以及有关

DataTable

对象中数据的主键、


外键、约束和关系信息组成。


4

、建立连接的方法


String

connectionString

=

“Data

Source

=

(local);

Initial

Catalog

=

NorthwindCS;

Persist


Security Info

= True; User ID = sa; Password = 123”


SqlConnection connection = new SqlConnection(connectionString);


5

、访问数据库


9

中国石油大学华东地图-中国石油大学华东地图


南昌大学2号门-南昌大学2号门


华北电力大学保定教务处-华北电力大学保定教务处


大学体验英语听说2第三版-大学体验英语听说2第三版


考上大学的祝酒词-考上大学的祝酒词


齐鲁工业大学 崔波-齐鲁工业大学 崔波


北京师范大学在山东录取分数线-北京师范大学在山东录取分数线


西南大学2017预科-西南大学2017预科



本文更新与2020-11-29 11:52,由作者提供,不代表本网站立场,转载请注明出处:https://bjmy2z.cn/daxue/14936.html

《C#面向对象程序设计(下)》实训指导书的相关文章