2024年4月29日发(作者:)
目 录
摘要
.............................................................................................................................. 1
1 局域网聊天工具概述
....................................................................................... 1
1.1 开发目标和意义............................................................................................ 1
1.2 WINDOWS SOCKETS编程 ........................................................................ 1
2 系统分析
.............................................................................................................. 2
2.1 需求分析........................................................................................................ 2
2.2 性能要求与可行性分析................................................................................ 2
3 系统设计
.............................................................................................................. 3
3.1 系统功能结构................................................................................................ 3
3.2 系统业务流程分析........................................................................................ 4
3.3 数据库设计.................................................................................................... 5
4 系统模块详细设计
........................................................................................... 6
4.1 文本聊天模块实现........................................................................................ 6
4.2 文件传输模块实现........................................................................................ 7
5 系统测试
.............................................................................................................. 8
6 总结
..................................................................................................................... 10
参考文献
................................................................................................................... 11
致 谢
........................................................................................................................ 11
____________________________________________________________________________________________
局域网聊天工具的设计与实现
摘要:本文提出并设计了一个局域网聊天工具,并在WINDOWS平台上利
用Visual Studio2010加以实现。本设计将文本聊天和文件传输等功能综合在一
个客户端程序之内,使用C#语言进行网络编程,并进行了人性化的界面设计,
使用起来简单方便,并且功能十分合理,又易于扩展以及个性化定制。
关键词:局域网;C/S体系结构;文本聊天;文件传输
The Design And Implementation of The LAN Chat Tool
Abstract: This paper put forward and design a LAN chatting tools, and in the W-
indows platform by using Visual Studio 2010 realization. This design will text chat a-
nd file transfer are integrate in a client program, using C# language for network prog-
ramming, and the human interface design, easy to use, and the function is quite reaso-
nable, and easy expansion and customization.
Key words: LAN; C/S Architecture ;Text-Chat; File-Ttransfer
1 局域网聊天工具概述
1.1
开发目标和意义
本设计的主要工作是设计一个基于WINDOWS平台的局域网即时聊天工
具,具体是采用C/S模式实现用户之间的通信,然后阐述本软件的功能、特点及
使用方法,并详细阐述开发本软件所用的相关技术,具体分析本软件的各个模块
的功能及实现方法,说明本软件的设计思想及方法。
局域网聊天工具,是在局域网内部使用的,用户之间用来交流的一个工具,
一般都具有文本聊天和文件传输功能。局域网聊天软件因其使用简单,系统资源
消耗少等优点,成为各企事业单位等的局域网内广泛应用的软件之一。
1.2 WINDOWS SOCKETS编程
通常的通信工具,都采用客户机/服务器(C/S)体系结构,C/S结构是这样的
一种结构:它包括客户机和服务器。客户机的作用是访问和处理远程服务器上的
数据,服务器的作用是接收和处理客户机的数据请求。Client/Server结构是当前
数据库应用程序中极为流行的一种方式。尤其是网络技术的发展,使得当前很多
1
____________________________________________________________________________________________
系统都采用这种方式进行构造,其最大的优点是将计算机工作任务分别由客户端
和服务器端来共同完成,这样有利于充分合理的利用系统资源。另外它的服务器
端还可以将信息集中起来,任何客户机都可以通过访问服务器而获得所需的信
息。Client/Server模型最终可归结为一种“请求/应答”关系。一个请求总是首先被
客户发出,然后服务器总是被动地接收请求,返回客户需要的结果。在客户发出
一个请求之前,服务进程一直处于休眠状态。一个客户提出请求后,服务进程被
“唤醒”并且为客户提供服务,对客户的请求做出所需要的应答。
2 系统分析
2.1
需求分析
随着中小型企事业的不断发展,在企业内部实现局域网通信是必不可少的。
局域聊工具就是一个非常好的局域网通信软件,它可以在职工不移动位置的情况
下进行在线聊天、文件传递。这样,可以大大提高企业的工作效率,便于企业内
部职员的交流。根据用户对聊天工具的要求,可分为以下几点:
(1) 操作简单方便、界面简洁美观;
(2) 可以在局域网实现文字和文件的传输;
(3) 可以实现用户的注册、登录和注销;
(4)
程序启动之后就能看到当前哪些机器在线,哪些可以与之进行对等通
信。可以实现局域网聊天;
(5) 一旦有某个网内的机器上线了,要有即时通知,并能及时更新用户界
面中的用户列表;
(6) 当单击用户列表项的时候,直接在聊天对话框聊天,发送聊天信息;
(7) 当有远程用户向本机发送文件的时候,弹出一个消息提示,用户可选
择接收或者拒绝;
(8) 文件传输过程中,应该有当前传输状态提示,并作为当前网络状态的
一种反馈;
(9) 为用户提供一个简单的聊天记录保存功能。
2.2
性能要求与可行性分析
在性能上,首先要求程序要完全可靠,可以应付各种由于系统问题产生的错
误,比如初始网络失败,对方突然下线等。要求提前设想到类似的尽可能多的可
2
____________________________________________________________________________________________
能发生的事件,做出相应的应对措施,并向用户提交简单易懂清晰明白的提示信
息。
程序要有良好的容错性,当用户进行非法操作时或者系统本身出现问题时要
能以最好的方式退出程序,避免发生程序假死现象。
要求程序对所运行之系统的硬件条件要求尽可能低,运行时内存占用尽可能
小,响应速度要尽可能快。并且不发生内存泄漏之类影响系统运行的错误事件。
并且要求易于维护及扩展。所以应该采用模块化开发,各个模块之间不要有太多
的耦合,以免维护困难。
在成本可行性上,本软件只做开发学习使用,所以暂且不考虑经济成本及盈
利问题。
在技术可行性上,开发所需要的软硬件平台已经搭建好,并进行了合理而完
善的需求分析,做好了充分的前期准备工作,其次因为本程序的平台将基于
WINDOWS,将要使用网络通信技术,而WINDOWS有完善成熟的网络通信接
口,以及与C#开发环境的严密契合能力,与更大规模的INTERNET通信工具产
品也已有例在先,所以这个程序的开发在技术上是完全可行的。
3 系统设计
3.1 系统功能结构
本系统中主要包括两个部分:服务器端和客户端。
(1) 服务器端的功能包括:
① 验证登录:检查登陆信息是否正确,并向客户端返回登陆信息,如
信息正确。就将在线用户发给该用户,并将该用户的状态发给各在线用户。
同时在服务器端显示出来。
② 处理注册信息:用户提交注册信息后,自动验证是否重名,如果重
名则返回提示,如果不重名则将信息加入数据库。
③ 发布系统消息:将此用户上线、下线消息发给各客户端,并在服务
器端显示在线用户信息。
④ 保存聊天记录:在接收到用户保存聊天记录申请的同时自动保存聊
天记录为文本文件。
服务器功能结构如下图1所示:
3
____________________________________________________________________________________________
图1 服务器端功能结构图
(2) 客户端的功能包括:
① 用户登录:建立与服务器的连接并登陆,能显示登陆错误信息。
② 用户注册:建立与服务器连接并提交注册信息,注册成功后自动登录。
③ 界面显示:登录成功后,自动显示在线用户列表。
④ 发送消息:选择要发送对象后,可以发送文本消息或者文件。
⑤ 接收消息:收到其他用户消息后,提醒并显示。接收文件时可以选择
接收或拒绝。
⑥ 聊天记录的保存:用户下线前自动向服务器发送申请保存聊天记录。
客户端功能结构如下图2所示。
图2 客户端功能结构图
3.2 系统业务流程分析
首先又服务器开启服务,监听局域网中客户端的连接请求,客户端连接后,
登陆或者处理注册信息,并返回操作结果,客户端注册或者登陆成功后,显示聊
天窗体,此时各客户端将自主的监听局域网中的用户,实时更新自己的用户列表
并显示,各个客户端之间的信息交流不再通过服务器转发,而是自主通信。
4
发布评论