基于cs架构的JAVA网络聊天系统的设计与实现毕业论文.doc
《基于cs架构的JAVA网络聊天系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于cs架构的JAVA网络聊天系统的设计与实现毕业论文.doc(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学号2009110121 河 南 警 察 学 院毕 业 论 文(设计)系 别 信息系 专 业 计算机网络安全监察 年 级 2009 姓 名 张宁 论文(设计)题目 基于c/s架构的 Java网络聊天系统 指导教师 讲师 2012年5月 4日目 录摘要.1关键词.1Abstract.2Key Words.21.引言.31.1开发背景.61.2开发目的和意义.61.3论文研究内容.72.即时通讯系统的相关研究.72.1 C/S开发模式.72.2即时通讯原理.82.3 Socket通信技术83.系统分析.93.1系统基本功能描述.93.2可行性分析.93.3系统需求分析.103.3.1功能分析.10
2、4.系统设计.114.1数据库设计114.2数据库模块设计124.2.1聊天系统工作原理图.124.2.2系统功能模块图134.2.3系统用例图134.2.4活动图.144.3系统类设计.165.系统实现.175.1实现概况.175.2注册模块.185.2.1流程图185.2.2关键代码185.3登录模块.205.3.1流程图205.3.2关键代码205.4聊天模块.235.4.1流程图235.4.2关键代码235.5文件模块.245.5.1流程图245.5.2关键代码255.6用户管理模块.265.6.1流程图.265.7用户/服务器界面的设计.275.8结语.30基于c/s架构的JAVA网
3、络聊天系统的设计与实现摘 要网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、腾讯QQ、MSN-Messager等等。该系统开发主要包括一个网络聊天服务器程序和一个网络聊天客户程序两个方面。前者通过Socket套接字建立服务器,服务器能读取、转发客户端发来信息,并能刷新用户列表。后者通过与服务器建立连接,来进行客户端与客户端的信息交流。其中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Clie
4、nt/Server模式)、网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。经过分析这些情况,该聊天工具采用Eclipse为基本开发环境和java语言进行编写,首先可在短时间内建立系统应用原型,然后,对初始原型系统进行不断修正和改进,直到形成可行系统。关键词:即时通讯系统 C/S Socket SwingThe Design and Implementation of Instant Messaging SystemAbstractAlong with the fast development
5、 of Internet, the network chating tool has already become one kind of important communication tools and received more and more web cams favor. At present, many extremely good chating tools have appeared . for example, Netmeeting, QQ, MSN-Messager and so on. This system development mainly includes tw
6、o aspects of the server procedure of the network chat and the customer procedure of the network chat. The former establishes the server through the Socket, the server can read and deliver the information which client side sends, and can renovate the users tabulation. The latter make a connection wit
7、h the server, carries on communication between the client side and the client side. With the LAN correspondence mechanism principle, through inheritting the Thread kind to establish the multithreading directly. In the development, it uses the elementary theory knowledge which the computer network pr
8、ogrammes. for example, TCP/IP agreement, Client/Server pattern, network programming design method and so on. In the network programming, it realizes reading and transmission of the information, that is,informaton flows realize the information exchange, introduce information flow analysis for realizi
9、ng a system, in which containes some basic software engineering methods. After analyzes these situations, this chating tool takes Eclipse as the basic development environment and compiles in java language. first, it will establish the system application prototype in a short time. then, for the initi
10、al prototype system, it needs constantly revised and improved, until a viable system.Keywords: Instant Messaging System; C/S ;Socket; Swing;1.引言1.1 开发背景随着互联网的快速发展,网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、腾讯QQ、MSN-Messager等等。无论是个人还是企业等组织机构,对沟通的需求也在不断发展,传统的电话、传真、邮件等沟通方
11、式显然已无法满足当今人们工作和生活沟通的需要。随着软件、网络和通讯三大现代信息技术的发展,在沟通、协作方面有着更多方便、快捷、实时等优势的即时通讯,成为继电话、E-Mail之后又一个完全融入每个人生活的互联网工具。Java是一个由Sun公司开发而成的新一代编程语言。使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,你就可以看到生动的主页。Java正在逐步成为Internet应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信
12、息世界增添了新的活力。1.2 开发目的和意义网络通信在当今信息社会中起着不可或缺的作用,人们可以利用网络通信技术进行即时的信息 交流。比如说QQ聊天工具,它就是利用网络通信技术开发的一款众所周知的网络聊天工具。通讯工具最初虽为聊天而诞生,但其作用早已超出了聊天的范畴,随着企业即时通讯工具的出现,即时信息在网络营销中将发挥更大的作用。目前,信息交流是互联网提供的主要内容,网络通信系统有多种实现方 式,类似ICQ属于一种点对点的聊天系统;还有一种是基于Socket的集中式聊天系统,这种聊天系统需要登录统一的聊天服务器。考虑到要可以在局域网中应用,本系统使用的是第二种方法,经过设置,在局域网或int
13、ernet上都可以使用。1.3 论文研究内容1、即时通讯原理 首先验证登陆,如果成功,则建立与服务端的socket连接,服务端新开启一个线程专门为它服务,将打包好的Message发送给服务器端,服务器端根据Message里面的信息,再将信息转发给其他用户。一个标准的C/S模式。2、Swing技术 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。用来实现客服端的界面设计。3、系统的构建 客户端采用C/S结构,以IO流的读写方式作为数据库。使用户信息以规定的格式在本地持久化存储。2.即时通讯系统的相关研究
14、2.1 C/S开发模式 C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个: 而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。 客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。(大多数没法自动升级而需要人工升级) 对客户端的操作系统一般也会有限制。可
15、能适应于win7,但不能用于Windows 2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。2.2 即时通讯原理 登陆进入聊天软件后,即显示出好友列表,在线的显示亮头像,不在线的显示灰色头像。双击好友头像即会显示出聊天界面。在聊天页面上,有发送文字,发送截图,和发送文件的功能按钮。点击“发送”按钮之后,程序就会把输入的信息的种类,信息内容、本人的ID号、对方的ID号以及当前的时间等内容打包成一个Message对象通过Socket发送到服务器端。服务器接收到Message之后,按照协议进行解析和转发。这样,双方的即时通讯就实现了。2.3 Sock
16、et通信技术Socket程序的工作过程:1、建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。2、数据通信:利用虚拟连接通道传送数据信息进行通信。3、关闭:通信结束时,再将所建的虚拟连接拆除。具体如下:服务器 图 2-1 socket通信3.系统分析3.1 系统基本功能描述客户端可以实现注册,即时聊天、在线好友查看、好友上、下线弹出窗口通知、服务器后台系统信息发布,相互之间收发文件等等。还有,收发消息时,可以实现离线接收。服务器端应当建立一个ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接(包括判断没有响应的连接超时)。服务器端应当是一个
17、信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。3.2 可行性分析本系统的可行性分析包括以下几个方面的内容:(1) 技术可行性使用Swing 和socket技术,可以很轻松地开发出实用、简便、高效的基于网络的即时通讯系统。因此技术上是可以实现的。(2) 经济可行性计算机网络已经普及,因此在网络设备上不需要进行大的投入。本系统需要Java JRE环境,由于并发使用人数比较少,所以成本很低。(3) 操作可行性只要一台以上计算机连接在同一个局域网内,本系统就可以安装使用,所以操作上完全不存在问题。如果要实现internet上通讯,只需要将服务器端运行在一个有固定IP的公网上
18、就可以。综上所述,即时Java即时通讯系统是可行的。3.3 系统需求分析3.3.1功能分析本系统要实现的功能如下:1)注册服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户的呢称,性别,籍贯,个人资料等,接受完毕后,便通过JDBC与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回其号码。客户收到服务器返回的信息后,便打开窗口登陆。2)登陆在客户端,用户输入其号码和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通过JDBC读取数据库,然后与用户输入的信息进行比对,如果成功,便打开主程序窗口。然后客户向服务器请求读取好友名单,服务器收到该请求,从数据库中
19、取出好友列表,然后向客户端发送这些信息,客户收到后就在主窗口显示好友。3)聊天客户端首先发送消息到服务器端,服务器端根据发送人信息和接收者信息来转发。例如服务器接收到一个A发给B的消息,先判断B是否已经在线,如果在线就将信息发送过去。如果B不在线则把信息储存在服务器,等B上线了在发送给他。B接收到A发来的信息,如果是未建立对话窗口,则自动打开显示。4)发送截图客户端A点击截图按钮,将屏幕锁定,截取图片,将图片储存在byte数组中发送到服务器端。服务器端根据发送人信息和接收者信息来转发。B接收到A发来的截图信息,会根据byte构造图片,将图片显示出来。同样,如果是未建立对话窗口,则自动打开显示。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于cs架构的JAVA网络聊天系统的设计与实现 毕业论文 基于 cs 架构 JAVA 网络 聊天 系统 设计 实现
限制150内