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