基于Socket的局域网聊天工具的设计与实现


时间: 2021-07-03 22:01:57 人气: 16 评论: 0

摘要  随着计算机网络技术的飞速发展,即时通讯聊天软件在日常生活中应用十分普遍,但绝大部分软件必需连接互联网才可以使用,而且还会面临信息外泄的危险。企业内部员工之间,学校老师、同学之间,可能希望在没有互联网的情况下就能及时通讯,收发文件。因此开发局域网通讯聊天工具就很有必要。本文提出了在局域网中就能实现通讯聊天的需求,并对网络通讯原理以及TCP,UDP,IP等相关技术进行了研究和分析,在此基础上利用C++编程语言实现了一种在windows平台下的基于Socket的局域网聊天工具。本聊天系统能实现局域网内用户之间能即时通讯,传送文件,帮助企事业单位在局域网内搭建起自己的聊天系统。避免了连接互联网而发生信息外泄的危险。

关键词:局域网;Socket;即时通讯;文件传送

2.1.1基本功能需求 

(1)建立侦听服务 

这个需求是服务器端的需求。 

(2)用户登录 

包括客户端请求登录以及服务器端响应登录两个过程。用户登录之前需设置服务器地址和端口号,然后注册账号,注册成功方能登录。 

(3)收发聊天信息 

包括客户端发送聊天信息以及服务器处理转发聊天信息两个过程。 

(4)传送文件

客户端给指定好友发送文件,服务器向文件接收方发送文件接收请求,当接收方接受文件接收请求后服务器再向文件接收方传送文件,然后接收方进行文件保存。

(5)收发系统信息 

由服务器端发送给客户端的通知消息。 

(6)用户下线 

包括客户端断开连接以及服务器响应两个过程。 

(7)服务器需要完成的任务  

服务器需要完成的任务主要有启动服务器,关闭服务器,管理用户,保存用户注册信息和聊天信息。

2.1.2性能需求 

  服务器能及时处理客户端发来的消息,能支持多用户同时进行聊天。内部消息格式的设计要高效合理,尽量减小服务器负担和网络的通信负荷,提高数据利用效率和数据传送效率,避免无效数据的传输。 

2.1.3界面需求 

客户端界面友好、美观,操作方便简单,支持私聊、群聊以及发送文件。服务器端界面无特殊要求。

2.1.4用户需求 

   虽然目前有许许多多的聊天软件,但是这些聊天软件的弊端就是在没有互联网,不连接外网的情况下不能使用;还有就是使用这些聊天软件还面临着内部信息外泄的危险。一些有自己局域网的企事业单位希望在不连接外网的情况下能有一款通讯软件能满足他们的沟通交流和文件的传递。还有一些保密单位,单位内部不能使用外网,也希望他们内部人员在交流工作内容和传递文件的时候内容不被外部人员所窃取利用,因此他们希望有一款在只有局域网的情况下就能方便快捷的传递文件信息的通讯工具来满足工作需求。



引言 1

1 开发环境与技术的选择及介绍 2

1.1开发环境的介绍 2

1.1.1 硬件环境 2

1.1.2 软件环境 2

1.2 开发平台简介 2

1.3 技术分析 3

1.3.1 Socket和Windows Sockets简介 3

1.3.2 C++ builder 的TServerSocket组件和TClientSocket组件简介 4

2 系统需求分析与概要设计 5

2.1系统需求分析 5

2.1.1基本功能需求 5

2.1.2性能需求 5

2.1.3界面需求 5

2.1.4用户需求 6

2.2系统概要设计 6

2.2.1 系统框架设计 6

2.2.2 数据结构设计 7

3 模块设计 9

3.1注册模块设计 9

3.2登录模块设计 9

3.3聊天模块设计 10

3.4文件传输模块 10

4系统详细设计与实现 11

4.1 客户端详细设计 11

4.1.1 客户端登陆界面 11

4.1.2 客户端注册界面 13

4.1.3 客户端主界面 14

4.2 服务器端设计 20

5 系统测试 28

5.1运行环境 28

5.2测试用例 28

6小结 29

6.1工作总结 29

6.2展望 29

结论 30

致谢 31

评论
188083800