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