【Java开源代码栏目提醒】:网学会员,鉴于大家对Java开源代码十分关注,论文会员在此为大家搜集整理了“基于java网络聊天系统毕业设计论文 - 毕业设计”一文,供大家参考学习!
本 科 毕 业 设 计 (
论文) 题 目 QQ : 年 级 专 业 班 级 学 号 学生姓名 指导教师 职 称
论文提交日期 摘 要 随着网络普及和上网人数的大增,进行信息交流已经成为人们日常生活中不可缺少的一部分,目前比较流行的聊天软件如:Facebook、腾讯 QQ、移动 Fetion、MSN-Messager,等等,相比于手机话费的昂贵,手机短信的繁琐等,网络通信操作简单,更重要的是给广大用户提供了一个广阔的免费的交留平台,让原本不认识的人也可以通过聊天软件成为朋友,让原本就熟悉的朋友们有更多的时间更多的机会交流,给我们的生活和工作带来了很多便利,因此受到越来越多的网民的青睐。
该系统开发主要包括两个方面一个网络聊天服务器端和一个网络聊天客户端。
使用了最新的
java2 标准 Swing 组建,开发出简洁美观和布局合理的用户服务器界面;前者通过 Socket 套接字建立服务器,使服务器能够读取、转发客户端发来信息,并能刷新用户列表。
后者通过与服务器建立连接,接收客户端之间的信息交流。
其中用到了局域网通信机制的原理,采用多线程多任务的设计思想。
开发中利 用 了 计 算 机 网 络 编 程 的 基 本 理 论 知 识 如 TCP/IP 协 议 、 客 户 端 / 服 务 器 端 模 式(Client/Server 模式)、网络编程的设计方法等。
在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。
经过分析这些情况,该聊天工具采用 Eclipse 为基本开发环境和
java语言进行编写,实现了即时在线交流,对新用户的注册,发送信息和接收信息,以及文件传输等功能。
【关键词】即时通讯系统 B/S multithreading C/S MySQL Socket Swing ABSTRACT Along with the network popularization and the number of Internet users growth the exchangeof information in daily life has become an indispensable part of the relatively popular chatsoftware such as: Facebook tencent QQ mobile Fetion MSN-Messager etc when compared tothe mobile phone calls of expensive mobile phone short message such as the red tape networkcommunication operation simple more important is to the general user provides a broadfree/leave platform let originally not know can also through the chat software be friends letoriginally is familiar friends have more time more chance to exchange to our life and work tobring a lot of convenience therefore they are more and more the favour of Internet users. Thesystem development mainly includes two aspects a network chat the server and a network chatclient. Using the latest
java2 standards established Swing developed a concise and beautiful andthe reasonable layout of the user server interface The former through the Socket Socketestablish server make sure that the server can be read forward from the client information andcan refresh user list. The latter through to a server connection receive the exchange ofinformation between the client. Among them the use of the local area network communicationmechanism of principle the threads multitasking design thought. In the development of thecomputer network programming elementary theory knowledge including TCP/IP protocolClient/Server mode Client/Server mode network programming design method etc. In thenetwork programming to information to read to send is to use to realize the exchange ofinformation flow which introduced the realization of a system of information flow analysiscontains some basic the method of software engineering. After analyzing the situation this chattools for the Eclipse basic development environment and
Java language to write realize thereal-time online communication to a new user registration send information and receiveinformation and file transfer etc. Function.【Key
words】Instant Messaging System B/S C/S MySQL Socket Swing 目 录前言 ........................................................................ 1第一章 聊天系统概述 ........................................................ 1 第一节 开发背景 ........................................................... 3 第二节 开发目的和意义 ..................................................... 3 第三节
论文研究内容 ....................................................... 4 第四节 即时通讯系统的相关研究 ............................. 错误未定义书签。
一 、C/S 开发模式 ....................................... 错误未定义书签。
二 、B/S 开发模式 ....................................... 错误未定义书签。
三 、即时通讯原理 ....................................................... 7 四 、
Java web 、Struts2、AJAX、JavaScript 应用技术 ...... 错误未定义书签。
五 、MySQL 数据库应用技术 ............................................... 7 六 、socket 通信技术 .................................................... 7 七 、开发环境的搭建 ..................................... 错误未定义书签。
第三章 系统分析 ............................................................. 8 第一节 系统基本功能描述 ................................................... 8 第二节 可行性分析 ......................................................... 8 第三节 系统需求分析 ....................................................... 9 一 、功能分析 ........................................................... 9第四章 系统设计 ............................................................ 11 第一节 数据库设计 ........................................................ 11 第二节 系统模块设计 ...................................................... 12 一 、聊天系统工作原理图 ................................................ 12 二 、系统功能模块图: .................................................. 13 三 、系统用例图: ...................................................... 13 四 、活动图: .......................................................... 14 第三节 系统类设计 ........................................................ 16 一 、Message 类的
设计 ................................................... 14 二 、截图类的设计 ...................................................... 15 三 、聊天记录类的设计 .................................................. 16 四 、服务器线程类设计 .................................................. 17第五章 系统实现 ........................................................... 20 第一节 实现概况 .......................................................... 20 第二节 注册模块 .......................................................... 20 一 、流程图 ............................................................ 20 二 、关键
代码 .......................................................... 20 第三节 登录模块 .......................................................... 22 一 、流程图 ............................................................ 22 二 、关键
代码 .......................................................... 22 第四节 聊天模块 .......................................................... 26 一 、流程图 ............................................................ 26 二 、关键
代码 .......................................................... 26 第五节 文件模块 .......................................................... 30 一 、流程图 ............................................................ 30 二 、关键
代码 .......................................................... 30 第六节 用户管理模块 ...................................................... 35 一 、流程图 ............................................................ 35 二 、关键
代码 .......................................................... 36 第七节 其他功能的实现 ................................................... 38 一 、截图功能的实现 .................................................... 38 二 、聊天记录功能的实现 ................................................ 39 三 、服务端线程的实现 .................................................. 40 第八节 用户界面的设计 ................................................... 40结论 ....................................................................... 44致谢 ....................................................................... 45参考文献 .................................................... 错误未定义书签。
附 录 ………………………………………………………………………………………44 一、英文原文…………………………………………………………………………………44 二、英文翻译…………………………………………………………………………………51 三、工程设计图纸……………………………………………………………………………59 四、源程序……………………………………………………………………………………60 五、其它………………………………………………………………………………………61 12 前言 随着信息时代的到来,信息的交流也与日俱增,网络聊天工具已经作为一种重要的信息交流工具,网络通信软件,正是由于它的安装方便,只需要彼此之间都有连上网的电脑,安装有相应的客服端,就可以进行信息交流;并且可以实现与不同地区,不同国家的人进行交流目前,因此受到越来越多的网民的青睐。
目前出现了很多非常不错的聊天工具,其中特别受青少年追捧的且应用比较广泛的有 Facebook、腾讯 QQ、MSN-Messager 等等。
无论是个人还是企业等组织机构,对沟通的需求也在不断发展,比如大量信息资料的传输,甚至视频通信等,传统的电话、传真、邮件等沟通方式显然已无法满足当今人们工作和生活沟通的需要。
随着软件、网络和通讯三大现代信息技术的发展,在沟通、协作方面有着更多方便、快捷、实时、
免费等优势的即时通讯,成为继电话、E-Mail 之后又一个完全融入每个人生活的互联网工具。
Java 它最初被命名为 Oak,是一个由 Sun 公司开发而成的新一代编程语言。
随着互联网的发展,Sun 看到了 Oak 在计算机网络上的广阔应用前景,于是改造了 Oak,以“
Java”的名称正式发布。
使用它可在各式各样不同种机器、不同种操作平台的
网络环境中开发
软件。
不论你使用的是哪一种 WWW 浏览器,哪一种计算机,哪一种操作系统,只要 WWW 浏览器上面注明了“支持
Java”,你就可以看到生动的主页。
Java 正在逐步成为 Internet 应用的主要开发语言。
它彻底改变了应用软件的开发模式,带来了自 PC 机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。
第一章 基于
java 网络聊天系统概述 第一节 开发目的和意义 网络即时通讯(Instant Messenger,简称 IM),是指能够即时发送和接收互联网消息等的业务。
自 1998 年面世以来,特别是近几年的迅速发展,通讯工具最初虽为聊天而诞生,但其作用早已超出了聊天的范畴,随着企业即时通讯工具的出现,即时通讯不再是一个单纯的聊天工具,即时信息在网络营销中将发挥更大的作用。
是一种终端连往即时通讯网络的服务。
即时通讯不同于 e-mail 在于它的交谈是即时的。
逐渐集成了电子邮件、博客、音乐、电视、游戏和
搜索等多种功能。
比如我们熟知的 QQ 聊天工具,它就是利用网络通信技术开发的一款众所周知的网络聊天工具。
在为网民带来方便的同时也为腾讯带来 3了丰富的利润。
目前,信息交流是互联网提供的主要内容,网络
通信系统有多种实现方 式,类似 ICQ 属于一种点对点的聊天系统;还有一种是基于 socket 的集中式聊天系统,这种聊天
系统需要登录统一的聊天服务器。
考虑到要可以在局域网中应用,本系统使用的是第二种方法,经过设置,在局域网或 internet 上都可以使用。
第二节 主要研究技术一、 通讯连接原理 在系统启动时首先验证登陆,如果成功,则建立与服务端的 socket 连接,客户端与服务器是基于 TCP/IP 建立连接的,该协议是一种基于连接的协议,服务端新开启一个线程专门客户端服务,客户端将打包好的 Message 发送给服务器端,服务器端根据 Message里面的信息,再将信息转发给其他用户,它在几台
计算机中提供了可靠的数据流,即标准的 C/S 模式。
Socket 程序的工作过程: 1、建立 Socket 连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。
2、数据通信:利用虚拟连接通道传送数据信息进行通信。
3、关闭:通信结束时,再将所建的虚拟连接拆除。
具体如下: 服务器 4 图 2-1 socket 通信二、Swing 技术 当
java1.0 刚刚出现时还没有 swing当时的 GUI 基本编程库sun 取名叫 AWTAbstractWindow Tookit基本 AWT 库处理用户界面的方法是将这些元素的创建行为交给底层操作系统的 GUI 工具箱进行处理来实现 WORA的目的.而因为种种原因不同的 OS 之间存在差异使得 AWT 界面库存在许多 bug.1996 年sun 同 netscape 通力合作创建了新的库取名 Swing.如果没有 Swingjava 的图形就面就不名一文.swing 是
java 的基础类是 JFC 的一部分完整的 JFC 是很巨大的.包括的组件也很多.Swing 具有更丰富而且更加方便的用户界面元素集合Swing 对于底层平台的依赖更少因此特殊平台上的 bug 会很少,Swing 会带来交叉平台上的统一的视觉体验。
三、
Java web 和 struts2 技术
Java Web,是用
Java 技术来解决相关 web 互联网领域的技术总和。
web 包括:web服务器和 web 客户端两部分。
Java 在客户端的应用有
java applet,
Java 在服务器端的应用非常的丰富,比如 Servlet,
JSP 和第三方框架等等。
Java 技术对 Web 领域的发展注入了强大的动力本系统采用 B/S 的结构实现服务器端,对用户和在线用户进行增删改查,和踢用户下线,以及开启服务器和关闭服务器。
5四、系统的构建讨论 本系统在客户端采用 C/S 结构,C/S 结构的优点是能充分发挥客户端 PC 的处理能力,很多
工作可以在客户端处理后再提交给服务器。
对应的优点就是客户端响应速度快。
缺点主要有以下几个: 客户端需要安装专用的客户端软件。
首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。
还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
大多数没法自动升级而需要人工升级) 对客户端的操作系统一般也会有限制。
可能适应于 Windows 98,但不能用于 Windows2000 或 Windows XP。
或者不适用于微软新的操作系统等等,更不用说 Linux、Unix 等。
而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。
这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
管理端采用 B/S 的结构, B/S 结构(Browser/Server 结构)结构即浏览器和服务器结构。
它是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层 3-tier 结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立 B/S 结构的网络应用,并通过 Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN WAN Internet/Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。
特别是在
JAVA 这样的跨平台语言出现之后,B/S 架构管理软件更是方便、速度快、效果优。
用 Tomcat 作为服务器,MySQL 作为数据库,还使用到了 WindowBuilder
开源框架进行界面开发。
6即时通讯原理 登陆进入聊天软件后,即显示出好友
列表,在线的显示亮头像,不在线的显示灰色头像。
双击好友头像即会显示出聊天界面。
在聊天页面上,有发送文字,发送截图,和发送文件的功能按钮。
点击“发送”按钮之后,
程序就会把输入的信息的种类,信息内容、本人的 ID 号、对方的 ID 号以及当前的时间等内容打包成一个 Message 对象通过 Socket 发送到服务器端。
服务器接收到 Message 之后,按照协议进行解析和转发。
这样,双方的即时通讯就实现了。
MySQL 数据库应用技术 使用 MySQL 存储用户信息,采用 JDBC 技术对其进行增删改查。
7第 3 章 系统分析3.1 系统基本功能描述 客户端可以实现
注册,即时聊天,相互之间收发文件,发送截图,查看历史聊天记录等功能。
收发消息时,可以实现离线接收。
服务器端应当建立一个 ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接包括判断没有响应的连接超时。
服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。
在后台
管理系统,可以到对用户进行增删改查,查看在线用户,和踢用户下线3.2 可行性分析 本系统的可行性分析包括以下几个方面的内容: 1 技术可行性 使用 Swing 和 socket 技术,可以很轻松地开发出实用、简便、高效的基于网络的即时通讯系统。
因此技术上是可以实现的。
2
经济可行性 计算机网络已经普及,因此在网络设备上不需要进行大的投入。
本系统需要一个MySQL 数据库服务器,由于并发使用人数比较少,tomcat 可以作为 web 服务器,所以成本很低。
3 操作可行性 只要一台以上计算机连接在同一个局域网内,本系统就可以安装使用,所以操作上完全不存在
问题。
如果要实现 internet 上通讯,只需要将服务器端运行在一个有固定 IP的公网上就可以。
综上所述,即时
Java 即时通讯系统是可行的。
83.3 系统需求分析 3.3.1 功能分析 本系统要实现的功能如下: 1注册 服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户的呢称,性别,籍贯,个人资料等,接受完毕后,便通过 JDBC 与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回其号码。
客户收到服务器返回的信息后,便打开窗口
登陆。
2登陆 在客户端,用户输入其号码和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通过 JDBC 读取数据库,然后与用户输入的信息进行比对,如果成功,便打开主程序窗口。
然后客户向服务器请求读.