基于java的网络即时通讯系统的设计与实现(最新整理by阿拉蕾内容摘要:

的系统用例图 用户( user)通过登录界面与服务器( Server)进行通信,不仅能够注册新账号,还能通过 Server与在线好友进行聊天,包括文本消息传递和音频信号传输,还能管理自己的好友列表,如删除好友等。 如图 31系统的总体功能用例 图所示: 图 31 系统的总体功能用例图 注册登录:用户可以通过注册界面填写必要的信息来是申请到一个账户,并可直接跳转到登录界面,输入密码即可登录。 好友聊天:用户可以从在线好友列表中选择好友进行消息传递,也可以跟陌生人进行聊天。 用户管理:用户可以进行添加好友、删除好友等操作。 语音聊天:用户可以选择在线用户进行语音聊天。 本系统主要通过客户端,服务器端来体现聊天系统的基本功能。 ( 1)服务器端: 出 ( 2)客户端: 6 user 注册活动图 启动 Server后, Server 开启一个 Socket连接的监听线程,用来监听来自网络的连接。 当 User 使用 Client进行注册账号, user 要把个人资料填写完并发送给 Server。 Server 来验证 user填写的个人资料是否合法,如果合法, Server将用后台 数据库表 ICQ自动序列生成 ICQ号返回给 user。 如果不合法,Server拒绝申请,并将填写资料错误的信息返回给 user。 如图 32 user注册活动图 : 图 32 user 注册活动图 user 登录活动图 启动 Sever后, Server开启一个 Socket连接的监听线程,用来监听来自网络的任何连接。 当 Client申请登录, user使用账号和密码进行登录, Server将 user发过来的 user信息和 Server后台数据库里的 user信息进行比对。 如果 user的账号和密码与之完全匹配,则 user成功登录,并且 Server返回给user登录账号的好友列表、好友资料、好友状态;如果不匹配, Server则告知 Client的 user登录失败。 如图 33 user登录活动图: 7 图 33 user 登录活动图 user 好友添加时序图 userA 打开好友添加面板并填写添加请求。 请求先是由 userA 发送给 Server,再由 Server 转发给userB,如果 userB接收到请求成功, userB的 Client则自动打开一个好友请求界面告诉 userB有陌生人添加请求。 UserB接收请求并回复,将由 Server将该回复转发 userA。 如图 34 user好友添加时序图: 图 34 user 好友添加时序图 user 聊天时序图 userA使用 Client登录,登录成功后选择 userB,打开聊天面板并填写聊天内容。 消息先是由 userA 8 发送给 Server,然后由 Server转发给 userB,如果 userB接收消息成功, Server将发送成功的消息返回给 UserA;如果 userB接收消息失败, Server将发送失败的消息返回给 userA。 user聊天时序图,如图 35: 图 35 user 聊天时序图 user 语音聊天时序图 userA打开语音聊天界面,选择好友 userB,向他发送语音请求。 该请求先是由 userA发送给 server,然后由 server转发给 userB。 userB通过语音聊天界面可以接收到请求并做相应的处理,如拒绝或者接受。 userB 将处理请求发送给 Server,再由 server 根据 userB 的处理请求做出相应处理。 如果 userB同意语音请求,则 userA和 userB将通过建立 UDP连接来实现发送和接收语音消息。 UMLuser语音聊天时序图,如图 36 : 图 36 user 语音聊天时序图 9 4 系统数据库设计 用户和客户端的关系 本系统采用 SQL2020数据库管理系统,用于实现系统信息的管理。 根据系统需求,列出以下数据项和数据结构: Client:注册、登录、查看资料、离线消息传递等。 User:昵称、性别、号码、年龄、地址、等。 Client和 User之间是使用的关系。 user登录成功之后则可查询在线 user的基本信息。 可画出数据库 ER图,如图 41所示: 图 41 系统数据库 ER 图 用户和登录记录的关系 列出 user与聊天记录、 user与登录记录的数据结构。 登录记录:登录次数、上线时间、下线时间、登录的 IP。 User与登录记录之间是通过号码联系。 所以, user与登录记录的 ER图如图 42所示。 图 42 user 与登录记录 ER图 用户 昵称 号码 性别 时间 地址 上线时间 IP 登陆 IP 年龄 登录次数 下线时间 登录记录 使用 M N 用户 昵称 号码 性别 时间 地址 消息传递 IP 登陆 年龄 离线 查看用户资料 客户机 使用 M N 10 用户和聊天记录的关系 聊天记录:接收消息内容、发送消息内容、发送消息时间、接收消息时间。 User与聊天记录之间是通过登录联系,登录的属性包括 IP、号码等。 所以, user与聊天记录的ER图如图 43 所示: 图 43 user 与聊天记录 ER 图 数据库中表格的设计 本系统需要用 SQL server 2020 实现数据表, user个人信息表分别设 id 、 nickname 、 age、 sex、password、 address等字段,其中 id 和 age为数字数据类型, nickname、 age、 sex、 password、 address为文本数据类型。 选择使用设计器创建表新建数据库,如图 44数据库窗口 所 示: 图 44 数据库窗口 因此,对 user个人信息表进行创建、保存, user个人信息表如表 45 所示: 用户 昵称 号码 性别 时间 地址 发送消息 IP 接收消息 年龄 接收时间 发送时间 聊天记录 使用 M N 11 表 45 user 个人信息表 列名 数据类型 长度 允许空 id int 4 No nickname text 16 Yes sex text 16 Yes age int 4 Yes address text 16 Yes password text 16 Yes 对表 32定义的字段进行详细的信息填充,在 user登录成功并获得 user列表后 便可通过点击 user资料看到在线 user的 nickname、 age、 sex、 id、 address等详细的 基本信息。 user登录记录表分别设 onliime、 loginIP、 logindegree、 outliime字段,其中 outliime、ouliime 字段为日期的数据类, loginlP 字段为文本的数据类型, logindegree字段为整数的数据类型。 user登录记录发如表 46 所示: 表 46 user 登录记录表 聊天记录表分别设 recvmsg、 sendmsg、 recvtime、 sendtime字段,其中 sendtime、 recvtime字段为日期型的数据类型, sendmsg、 recvmsg字段为文本的数据类型。 user聊天记录表如表 47所示: 表 47 user 聊天记录表 列名 数据类型 长度 允许空 sendmsg text 16 Yes recvm。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。