cs架构的java即时聊天系统的设计与实现

cs架构的java即时聊天系统的设计与实现

ID:15023337

大小:34.00 KB

页数:17页

时间:2018-07-31

cs架构的java即时聊天系统的设计与实现_第1页
cs架构的java即时聊天系统的设计与实现_第2页
cs架构的java即时聊天系统的设计与实现_第3页
cs架构的java即时聊天系统的设计与实现_第4页
cs架构的java即时聊天系统的设计与实现_第5页
资源描述:

《cs架构的java即时聊天系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、CS架构的Java即时聊天系统的设计与实现本科毕业设计?在使用Socket类里的方法建立信道的时候,Socket类屏蔽了通过三次握手建立信道的全部流程,直接向程序员返回信道类的句柄(Socket类的实例)或是出错信息。?Socket类向程序员屏蔽了服务器和客户端之间的物理硬件指标和底层的连接方式,所以我们在使用Socket类开发网络程序时,可以简单地调用其提供的方法来传输数据,而不必关心数据流的传输和接收方式[6]。Java中的Socket通信流程如图2-1所示。建立服务器端套接字对象监视端口ServerSocke

2、tserver=newServerSocket(8888);监听主动连接建立客户端Socket连接Socketclient=newSocket(“ServerHost”,8888);接收连接返回新Socket对象Socketsocket=server.accept();新建一个Socket连接构造Server端数据输入流对象构造Server端数据输出流对象在数据流中发送、接收客户消息17构造Client端数据输入流对象构造Client端数据输出流对象在数据流中发送、接收客户消息关闭Server端的输入流输出流Soc

3、ket连接关闭Client端的输入流输出流Socket连接图2-1Socket客户-服务器的通信流程图7本科毕业设计第三章基于C/S架构的即时通讯系统设计3.1系统详细设计3.1.1系统总体流程图在系统开发之前,先对系统进行了整体设计,系统流程图如图3-1。开始启动服务器否判断启动信息是启动客户端判断登录信息否注册用户是登录成功即时聊天退出客户端关闭服务器结束8本科毕业设计图3-1系统总体流程图3.1.2系统总体功能模块划分本系统主要分为注册、登录、聊天、文件传送、后台管理五大模块。整个系统的详细结构如图3-2所示

4、。17基于C/S架构的即时聊天系统注册模块登录模块聊天模块文件模块后台管理模块发送文字发送表情群组聊天发送文件接收文件服务管理用户管理消息管理图3-2系统总体功能模块划分各个功能模块设计如下:1、注册模块在登录界面上有注册按钮,用户可以点击注册,填入个人相关资料,提交给服务器。服务器接收到信息后通过纯JDBC方式或者JDBC—ODBC桥接的方式连接数据库并添加记录。2、登录模块用户在客户端输入账号和密码,然后建立与服务器端的连接,告诉服务器执行登录操作。服务器收到后,开始通过JDBC读取数据库,然后与用户输入的信息

5、进行比对,如果成功,便打开主程序窗口。然后客户端向服务器请求读取好友列表,服务器收到该9本科毕业设计请求后从数据库中取出该用户的好友列表,然后向客户端发送这些信息,客户收到后就在主窗口显示好友。3、实时聊天模块17客户端首先发送消息到服务器端,服务器端程序判断客户端发来的信息类型,如果是普通的聊天消息就根据发送者信息和接受者信息进行消息转发。例如客户端A向客户端B发送消息的处理过程如下:首先A向服务器发送消息,服务器程序判断消息类型,如果是普通的聊天消息,则解析该消息,得到该消息的发送者A,接受者B。接着判断B是否

6、在线,如果在线就将消息发送过去,否则将消息存入数据库。B接收到A发来的信息,如果是未建立对话窗口,则在屏幕右下角出现弹窗提示。此外还有群组聊天功能,可以在“官方聊天室”功能中实现一对多的聊天,即在聊天室发送的消息是面向所有在线用户的。4、传送文件模块在聊天主界面上有文件传送功能,可以选择任意的本地文件进行双向传送。不管是何种格式的文件,在底层全部通过ObjectOutputSteam/ObjectInputSteam等Java提供的不同形式的流处理对象转化为二进制的字节流传送。在接收端再从这些I/O流中读取还原原始

7、数据。5、系统后台管理模块(1)服务管理:服务器端的管理员可以在这里启动后台的服务器,发布聊天室公告或者弹窗公告给所有在线用户。如果未开启服务器,则在客户端无法登录,并会返回相应的消息提示。17(2)用户管理:可以根据用户名或者用户ID查询已注册的用户详细信息,并且可以修改、保存相关信息。这是一个对数据库的简单的增删改查的操作。(3)消息管理:当一个用户给其不在线的用户发送消息时,系统会理解为发送的是离线消息。此消息将会存入数据库,等目标用户上线后再将消息推送过去。3.1.3系统用例图用例(UseCase)是软件工

8、程或系统工程中对系统如何反应外界请求的描述,是一种10本科毕业设计通过用户的使用场景来获取需求的技术。用例图是由主角、用例以及它们之间的关系构成的图,该图说明了用例模型中的关系[12]。本系统的用例图如图3-3、3-4所示。?普通用户用例图:注册登录>聊天>用户>文件>发送文件接收文件表情文字图3-3普通用户用例图?后台管理员用例图:1117百度搜索“就爱阅

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。