基于Linux的网络聊天室项目
- 格式:doc
- 大小:70.88 KB
- 文档页数:10
精品文档
。 1欢迎下载 系统客户要求
需求分析是软件分析中的一个重要步骤。它的基本任务是要准确地分析出系统应用者的需要,以及系统目标必须具备哪些功能。这些功能必须准确地,完整地体现出用户的要求。
根据网络应用程序的特点,网络在线聊天系统应就有即时,快速的特点。服务器端和客户端应就有不同的功能特性。对于服务器端应能够正确地建立与客户端的连接并能正确地断开,能即时地接收、处理和发送接收到的数据。能及时地通知在线用户当前好友在线状况,能够处理非正常数据的能力。对于客户端应能够快速地检查是否能够连接到服务器端。能正确的获得和反映当前好友在线情况。能够正确的与特定好友交流。能及时地接收到服务器端地数据,并能即时处理数据,并能将处理结果反映给用户。
服务器端:
能够正确地、无冲突地启动服务器。
监听指定的端口,等待用户的连接。
建立与客户端的逻辑连接,并能通知其他好友。
向新进入的好友发出已上线的好友名单。
接收客户端的消息请求,并能正确无误地处理消息,并能发出消息到客户端。
反映当前在线人数和在线好友状况。
及时地反映发出地消息和聊天消息。
当好友断开与服务器端地连接时,服务器能够正确地断开连精品文档
。 2欢迎下载 接,并通知其他用户。
当用户违反聊天系统规定时,服务器系统管理员能够断开与此用户的连接。
当服务器关闭时,应通知所有用户。
客户端:
能够正确启动应用程序,并能向服务器发出连接请求。
反映当前好友在线情况。
能够向群体或指定好友发出消息。
能够及时接收好友发出消息,并通知用户。
能够正确地断开与服务器端地的连接。
功能需求
该聊天工具是在linux平台下进行开发与实现的,它适合于局域网内所有人进行通信和交流。由于这个系统采用了tcp/ip协议和socket接口,所以主框架采用c/s架构。从总体来讲,该聊天系统主要包含服务端和客户端。
服务端功能实现模块:
(1) 保存新用户注册的相关信息(主要是用户名和密码)
(2) 验证登录用户的信息
(3) 接收和转发用户聊天信息功能(接收发信用户发来的信息,再将信息转发到收信用户) 精品文档
。 3欢迎下载 (4) 系统查看在线用户以及剔除指定用户
客户端功能实现模块:
(1) 选择操作模式(注册或者登陆)
(2) 输入指令进行相应的功能(私聊,群聊,发送文件)
(3) 客户端接收服务端的信息,然后通过消息队列发送到display端,让display终端显示出信息内容
(4) 客户端彼此发送文件时,对文件的内容进行加密处理
前面是服务端和客户端单独运行模块,下面是服务端和客户端共同完成通信:
(1) 客户端向服务端发送服务请求,验证用户信息
(2) 服务端验证完后向客户端发送响应信息
(3) 发信客户端向服务端发送指令信息,请求相应操作
(4) 服务端转发信息到收信客户端
精品文档
。 4欢迎下载 聊天室功能模块规划:
服务器端系统功能模块图
发出用户登陆成功消息 在线聊天系统服务器端启动
用户请求连接
接收消息
接收
连接请求
消息
接收传输数据消息 接收客户端退出消息 发出消息
发出用户重名消息 发出
传输数据消息 发出好友名单消息 发出添加好友消息 发出好友离开消息 发出聊天室关闭消息 精品文档
。 5欢迎下载
客户端系统功能模块图
模块划分
系统结构图如下:
聊天模块划分图 发出消息
发出用户注册登陆消息 发出连接请求消息 发出
传输数据消息 发出好友名单消息 发出文件传输消息 发出退出聊天室消息 接收消息
接收
连接请求
消息
接收传输数据消息 接收文件传输消息 在线聊天系统客户端 主模块
注
册
登
录 群
聊 传
输
文
件 聊
天
记
录 私
聊 精品文档
。 6欢迎下载 模块调用关系
模块在整体框架中的位置如下图:
模块位置关系图
系统总流程图
Socket编程几乎是采用的C/S模式,该模式是基于局域网内进行通信的基础架构,它可以使用任何的通信协议,并且在通信的过程中能充分发挥客户端的处理能力,使客户端响应速度加快。所以,该系统总体采用C/S模式。
未注册用户入口
已注册用户入口
登录
文件传输 私聊 群聊
聊天信息保存 精品文档
。 7欢迎下载
系统总流程图 开始
打开服务端,处于监听状态
客户端登陆
是否注册 注册
否
客户端之间进行交流
私聊 群聊 发送文件
信息保存文件
关闭交流
关闭客户端
关闭服务端 是 精品文档
。 8欢迎下载
根据调查和研究,得到系统所要处理的数据和流程,如图所示:
客户端数据流图
填写用户姓名
提交到服务器 用户名存在,重新填写
不存在同名,用户登陆到聊天室 用户运行客户端应用程序
接收服务器端的在线用户列表
发送消息给好友 接收好友消息 接收好友下线或登陆精品文档
。 9欢迎下载
服务器端数据流图
服务器端正常启动 等待接收用户连接若消息为用户登陆,则查看是否有同名用户登陆 若有,则发出此用户已存在消息,否则,发送登陆成功消息,并发送在线好友名单,
并发送此用户名称给已在线用户
若消息为用户通讯消息,则转发给该接收的用户
若消息为用户退出消息,这断开连接,同时发送其他用户此用户退出消息 精品文档
。 10欢迎下载
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求