收藏 分享(赏)

java仿QQ局域网聊天软件设计.doc

上传人:dzzj200808 文档编号:2792533 上传时间:2018-09-27 格式:DOC 页数:16 大小:37.50KB
下载 相关 举报
java仿QQ局域网聊天软件设计.doc_第1页
第1页 / 共16页
java仿QQ局域网聊天软件设计.doc_第2页
第2页 / 共16页
java仿QQ局域网聊天软件设计.doc_第3页
第3页 / 共16页
java仿QQ局域网聊天软件设计.doc_第4页
第4页 / 共16页
java仿QQ局域网聊天软件设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、-范文最新推荐-1 / 16java 仿 QQ 局域网聊天软件设计摘要:随着计算机科学和 Internet 的飞速发展, 网上聊天已成为人们相互交流的一种方式, 与 E-mail、电话相比, 聊天服务更具有实时性和有效性。本系统是基于 java 的一个聊天系统。该系统设计目的主要为中小型公司内部通信使用。该软件能够帮助企业在局域网内搭建起自己的聊天系统,避免企业内部员工使用类似 QQ 等软件泄露内部信息,开发内容主要包括一个网络聊天服务器程序和一个网络聊天客户程序。服务器端通过 Socket 套接字建立服务器,读取、注册、转发客户端发来信息,并实现与数据库的连接。客户端 socket 与服务器

2、建立连接,来进行客户端与客户端的信息交流。用到了通信原理,多线程技术,TCP/IP 协议、客户端/服务器端模式(Client/Server模式) 、设计模式、网络编程的设计方法等。服务器和客户端、客户端和客户端间的数据交换是通过对数据的编码通过数据流来交换的。该系统主要在 eclipse上开发的,用 java 语言编写。用 mysql 数据库储存数据。9107关键词: 局域网;C/S;Socket Swing; TCP/IP;网络编程 Imitation QQ LAN chat software designAbstract: Along with the rapid development

3、of computer science and Internet, online chat has become a way for people to communicate with each other, compared with E-mail, the telephone, chat service is more real-time and effective. This system is based on java.The design purpose of the system is mainly for small and medium-sized companies us

4、e internal communication. This software can help the company to build their own chatting system in the local area network, and it also can avoid the staff of the company disclosing the insider information by using the other software such as QQ This system development mainly includes a network chat s

5、erver program and a network chat client program. The server through the Socket, the server can read and deliver the information which client side sends, and can renovate the users tabulation. And realization of the connection to the database.The client make a connection with the server, -范文最新推荐-3 /

6、16carries on communication between the client side and the client side. The system use the principle of communication , multi-threading technology, the client/server model ,design pattern,network programming design method. The server and the client, the client and the client data exchange through th

7、e data flow. The system is developed on eclipse,using java language.Using Mysql database to store date. 5.2.4 代码实现 185.3 登录模块 205.3.1 模块介绍 205.3.2 流程图 215.3.3 相关类图 225.3.4 关键代码 225.4 聊天模块 255.4.1 模块介绍 255.4.2 流程图 265.4.3 相关类图 265.4.4 关键代码 275.5 文件模块 285.5.1 模块介绍 285.5.2 流程图 295.5.3 相关类图 295.5.4 关键代码

8、 30-范文最新推荐-5 / 165.6 用户界面的设计 316. 难点和对策 346.1 在 java 中处理 Socket 网络异常断开的方法 346.2java 中多线程的同步资源访问 356.3java 操作 XML357.系统测试 387.1 测试中出现的问题 387.2 如何解决 387.3 项目存在没有解决的问题 387.4 拟用解决方法 38结语 39参考文献 401.引言1.1 开发背景互联网发展到今天,网络聊天已近成为人们一种习惯,一种人们日常信息交流的工具。现在比较多的人用 QQ,YY , MSN 等。以前人们交流通常用邮件、电话等,现在随着人们的信息需求不断变化即时通信

9、越来越重要,传统的通信已近无法满足现代的需求。企业和社会组织机构等,对即时通信的需求更是大。这也充分显示了开发这个即时通信的重要性。我相信随着即时通信技术的发展,对与沟通、协作方面有着更多方便、快捷、实时等优势,将成为继电话、E-Mail 之后又一个完全融入每个人生活的互联网工具。 3、系统介绍-范文最新推荐-7 / 16系统才有 C/S 模式,服务器端用 mysql 储存用户数据,客户端使用文件 io 流读写数据。客户端通过socket 连接服务器。2.系统的相关研究2.1 C/S 开发模式C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统结构,通过它可以充分利用两端硬件环境的优势,

10、将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是 Client/Server 形式的两层结构,由于现在的软件应用系统正在向分布式的 Web 应用发展,Web和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。C/S 结构的优点是能充分发挥客户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快,应用服务器运行数据负荷较轻

11、,数据的储存管理功能较为透明。缺点主要有以下几个:而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。(大多数没法自动升级而需要人工升级)对客户端的操作系统一般也会有限制。可能适应于win7,但不能用于 Windows 2000 或 Windows XP。或者不适用于微软新的操作系统等等,更不用说

12、Linux、Unix 等。 -范文最新推荐-9 / 16聊天系统在客户端和服务器之间主要传送的是文字信息,服务器端只需要把最近的文字信息推送到客户端,这样减少了网络传输内容,节省了网络传输的时间,无疑提高了聊天速度。这种推技术是目前基于 Socket 聊天系统的主要实现技术。在基于 Socket 的聊天系统,客户端和服务器必须保持随时随地的连接。这有别于普通 Web 浏览的连接方式。在使用浏览器访问服务器时,先由客户端发出 HTTP 协议,然后服务器响应处理这个客户端的响应,再返回处理结果;请求(Request)和响应(Response)是一种一对一的前后因果关系。而在基于 Socket 的聊

13、天系统中,客户端发出聊天信息的同时,客户端也在接受服务器发送过来的其他人的聊天信息,因此,请求和响应不存在那种前后对应关系,是两种分别独立进行的进程。因为服务器任何时候都可能发送信息到客户端,因此,客户端和服务器一旦建立连接,必须能让服务器在以后发送中寻找定位到这个连接。局域网聊天系统使该系统的用户能够通过客户端登入到该系统,然后直接与系统交互。首先,需启动服务器,进行服务器的配置,进行正确的服务器配置和数据库连接并测试成功后,开启服务器。接下来,在客户端,该系统的用户能够通过登陆界面进入,然后直接与系统交互,进行文字传送。本系统支持的活动列表如下:(1)配置服务器,连接数据库;(2)开启服务

14、器;(3)用户注册账号;(4)用户登陆系统;(5)用户与系统交互,进行文字传送;(6)用户登陆后,可查找,添加好友;(7)传送文字、图片、文件等信息;-范文最新推荐-11 / 164)发送表情客户端 A 点表情按钮,将出现系统默认表情,选中要发送的表情,表情将在信息框上显示。发送的时候系统自动把表情 id 编码传给服务器。服务器转发数据,客户端显示的时候根据 id 取出本地目录下的表情文件现显示在信息框中。5)发送文件客户端 A 点击发送文件按键,从本地选择文件,将与客户端 B 的一个 socket 连接,将文件在 byte数组中的数据通过流传给客户端 A。从而实现文件传送。4.系统设计4.1

15、 设计原则设计软件不可不考虑到系统重用性很伸缩性,本系统将系统的网络底层,数据传输和界面 UI 分离开,这样就可以提高系统的伸缩和重用性本系统最底层是 Socket 通信层,将负责客户端和服务器之间快速的数据交换,它通过 API 调用和最上面应用层保持实时数据联系。用户从客户端进入到本系统前,将实现统一的用户登录验证机制。Socket底层设计分两大部分:协议设计和连接处理设计:协议是通过自己定义相关的接口函数,和编码格式定义的。连接处理设计是通过多线程控制。接口层的目的是提供底层和应用蹭一个中介媒体的作用,但是不能设计得太复杂,以免延误数据传送时间。4.2 工作流程只有充分地了解了聊天程序的工

16、作流程,才能对整个系统的理解更加深刻,聊天程序的工作流程如图 4-范文最新推荐-13 / 162 所示。图 4-2 聊天程序的工作流程4.3 数据库设计这一设计阶段是在需求分析的基础上进行的,目的是设计出能够满足用户需求的各种实体以及它们之间的关系,为逻辑结构设计打下基础。本系统涉及的数据表CREATE TABLE users (id int(11) NOT NULL AUTO_INCREMENT,username varchar(45) NOT NULL,password varchar(45) NOT NULL, 有用户离开public void sendPillowMessage()发送

17、消息public void sendFileQuestion() 客户端发送文件请求public Object receive() 接收消息Service 类public void run()接受客户端连接private Boolean checkUser()查看是否有用户private Boolean register()注册用户serviceConnectThread 类-范文最新推荐-15 / 164.5.2 客户端线程类设计属性名作用public int login (String username,String password)传入帐号密码给服务器端验证public void ru

18、n()线程的主题,读取服务器端发来的资料并显示相关内容public void sendMessage()向服务器端发送信息public void sendFileMessage()发送文件消息client 类属性名作用private void connect2Service() 连接服务器private void registered 注册用户clientRegister 类5.系统实现5.1 实现概况本系统可分为注册、登录、聊天和文件四个功能模块。 注册模块提供用户注册;登录模块为用户提供登录界面,并在用户登录显示好友列表;聊天模块实现用户的即时传送信息,即多用户即时聊天,可以发送文字;文件模块主要实现一用户向另一用户发送文件,对方可以选择接受或者拒绝。聊天记录会以文本文档格式保存。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报