1、 湖北大学知行学院 本科毕业论文(设计) 题 目 基于 JAVA 的聊天室设计与实现 计算机 与信息工程 系 计 算机科学与技术 专业 学 号 0811050002 学生姓名 万小龙 指导教师 尤新华 起讫日期 2011. 10 2012. 4 工作地点 湖北大学知行学院 I 目 录 绪论 . 1 1 课题总体介绍 . 2 1.1 项目开发的目的 . 2 1.2 项目开发的意义 . 2 2 总体设计 . 3 2.1 应用需求分析 . 3 2.2 模块具体分析 . 4 2.2.1 服务器端模块分析 . 4 2.2.2 客户端模块分析 . 4 2.2.3 数据库模块分析 . 4 2.3 聊天室的具
2、体实现 . 5 2.3.1 登录界面的实现 . 5 2.3.2 注册界面的实现 . 5 2.3.3 聊天界面的实现 . 5 2.3.4 服务器界面的实现 . 6 2.3.5 服务器验证登录的实现 . 6 2.3.6 聊天功能的实现 . 6 3 聊天室的详细设计 . 7 3.1 开发环境的配置 . 7 3.2 开发的过程 . 7 3.3 聊天室功能的测试 . 8 结 论 . 10 参考文献 .11 致 谢 . 12 附 录 . 13 II 基于 JAVA 的聊天室设计与实现 摘 要 随着网络的快速发展,网络俨然已经成为了我们了解世界和关注世界各地新动态的一个主要途径了。因此伴随着网络而必然产生的
3、一些软件也越来越多,而能够实现即时通信的聊天软件也是随之诞生,且深受用户们喜爱。而 MSN, ICQ,还有国内的 QQ 等大型聊天软件也成为了人们网络生活中的一部分。 本文中主要 阐述的是 java 聊天室的 设计过程,以及聊天功能的实现。前台采用的 java 语言采用C/S 架构来设计聊天室,而后台则采用 SQL Server2005 创建的数据库和表格来管理用户的信息。然后利用这 2 种工具的结合来完成聊天室的设计。 【关键词】 网络 聊天室 即时通信 JAVA III Chat room Design with realization based on JAVA Abstract Wit
4、h the rapid development of network, the network has become in a major way for us to understand the world . So with the network and inevitable has some software is also more and more, and can realize instant communication chat software is also comes and loved by uses. So MSN, ICQ, QQ and other large
5、chat software has become a part of the peoples life for network. This article mainly elaborated in the chat room of the design process is Java, and the realization of the function of chat. The front desk of the Java language using C/S architecture to design a chat room, and the back desk, using the
6、database and SQL Server2005 create form to manage customer information. Finally, using the combination of these two tools to complete the design of the chat room. 【 Key words】 network Chat room Instant communication JAVA 湖北大学知行学院本科毕业论文(设计) 1 绪论 随着互联网逐步 普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方
7、式。 本系统利用 Java 实现基于 C/S 模式的聊天程序。聊天室共分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的消息,客户端需登录到服务端才可以实现正常的聊天功能。服务器端的主要 实现 在特定端口上进行侦听,等待客户端连接; 用户可以配置服务端的侦听端口,默认端口为 9999;向已经连接 到服务端的用户发送系统消息。 客户端的主要功能为:连接到已经开启服务的服务端;用户可以配置要连接 的 端口号;用户可以配置连接后显 示的用户 的账号 ;当服务器端开启的话,用户可以随时登录 , 用户可以向所有人或某一个人发送消息。从而客户与客户之间以及客户与服务器之间可以简单方便地进行通
8、信。 主要使用 Sun 公司提供 Java 语言、 jdk 开发环境及套接字通信 socket 技术, 并利用 MyEclipse来进行开发,来是实现 对服务器端和客户端之间相互交流 的 功能。 湖北大学知行学院本科毕业论文(设计) 2 1 课题总体介绍 1.1 项目开发的目的 本课题的研究主要目的是可以加深我们对 java 编程思想的理解,让我们养成一个良好的项目开发的编程习惯,同时也是对我们所学的 java 编程的一个综合提高。而对聊天室的开发 也可以更好的理解 C/S 架构开发的原理,能够更加熟练的使用多线程、异常处理、 Socket 编程、输入输出流的使用。 1.2 项目开发的意义 根
9、据当前网络的需求,网络聊天越来越受各种网民所青睐。因此开发网络聊天是相当有必要,而且在网站内增加聊天功能,它不仅可以提高网站的访问量,同时可以留着访客,更重要的是让访客透过聊天室实时的互相交流。而本人也学习过 JAVA 语言,对网络编程也较有兴趣,为了更好的考验自己对 JAVA 语言的掌握程度,本人就决定以 Java 聊天室为毕业设计,希望通过这一次能进一步提高本人的网络开发编程的能力 。 湖北大学知行学院本科毕业论文(设计) 3 2 总体设计 2.1 应用需求分析 利用 Java 实现基于 C/S 模式的聊天程序,聊天系统不外乎两个方面,服务器端和客户端。服务器端程序主要负责侦听客户端发来的
10、消息,客户端需登录到服务端才可以实现正常的聊天功能。简单分析一下两个方面所要完成的任务,对设计这个程序来说,等于完成了一半。首先来看一下服务器端的任务: 服务器端的主要功能如下: ( 1) 在特定端口上进行侦听,等待客户端连接。 ( 2) 用户可以配置服务端的侦听端口,默认端口为 9999。 ( 3) 向已经连接到服务端的用户发送系统消息。 ( 4)可以启动和关闭服务器。 以上 就是服务器端最主要任务。不难看出,服务器端的任务并不复杂。 客户端的主要功能如下: ( 1) 连接到已经开启服务的服务端。 ( 2) 用户可 以注册账号 。 ( 3) 用户可以 通过注册好的账号登陆聊天室 。 ( 4)
11、 用户可以向所有人或某一个人发送消息。 相对服务器而言,客户端的任务也不很复杂,有了以上的简单分析,可以知道,解决上述问题,即完成了该聊天系统的核心。 聊天室设计好了,同时还需要数据库的支持,数据库的功能就是对用户注册的账号和密码进行管理,当用户登录时可以进行验证。 湖北大学知行学院本科毕业论文(设计) 4 2.2 模块具体分析 模块分析示意图如图 2.1 所示: 图 2.1 模块分析 2.2.1 服务器端模块分析 服务器与客户间通过套接口 Socket(TCP)连接。在 java 中使用套接口相当简单, Java API 为处理套接口的通信提供了一个类 .Socket,使得编写网络应用程序相
12、对容易。服务器采用多线程以满足多用户的请求,并通过创建一个 ServerSocket 对象来监听来自客户的连接请求,默认端口为8888,然后无限循环调用 accept()方法接受客户程序的连接。 2.2.2 客户端模块分析 客户通过 Socket(InetAddress,port)建立 与服务器的连接。服务器与客户都通过构造 对象流 来建立输入输出流,然后双方通过该输入输出流来相互传递信息,一旦收到客户方的连接请求,服务器accept()方法返回一个新建的 Socket 对象。客户端然后向服务器发送消息,服务器收到来自客户的请求后,针对不同的消息处理请求。 2.2.3 数据库模块分析 数据库用
13、于管理用户的信息,当用户在注册界面成功注册了账号,就存在数据库的用户表里面,当新用户注册时,将新账号与数据库中的账号比较来验证账号是否纯在,也可以验证账号密码是否正确。 湖北大学知行学院本科毕业论文(设计) 5 2.3 聊天室的具体实现 2.3.1 登录界面 的实现 登陆界面如图 2.2 所示: 图 2.2 聊天室的登陆界面 该界面用到了 3 个 Jlabel,分别是“聊天室登录器”、“账号”、“密码”。用到了 1个 JTextFilet,1 个 JpasswordField,和 2 个 Jbuttton(登录和注册)。然后用网格包布局来管理这些控件。当填写了正确的账号和密码后点击登录按钮可以
14、进入聊天界面,错误则提示“用户名或密码错误”:点击注册按钮则可以进入注册账号的界面。 2.3.2 注册界面的实现 注册界面的实现如图 2.3 所示: 图 2.3 注册界面 该界面主要用的了 4 个 Jlabel 分别是 4 个填写文字的部分,然后一个 JtextField 和 2 个JpasswordField,用来填写要注册的账号和密码。这些控件被放入第一个 Jpanel 中,然后放于 Jframe的居中部分。然后 2 个按钮放在了第二个 jpanel 中,放于 jframe 的南边。 2.3.3 聊天界面的实现 聊天界面的实现如图 2.4 所示: 图 2.4 聊天界面 湖北大学知行学院本科
15、毕业论文(设计) 6 该界面的控件很少,用一个 JtextArea 来显示用户们的聊天内容,该空间放在了居中部分。然后是在南边有一个 JtextField 用来填写用户想说的话,然后点击唯一的 Jbutton(发送),就可以发送自己说的话了。 2.3.4 服务器界面的实现 服务器界面的实现如图 2.5 所示: 图 2.5 服务器界面 该界面只用到了 2 个 Jbutton,用来启动和关闭服务器。 2.3.5 服务器验证登录的实现 当用户点击了登录界面的登录按钮之后,用户填写的账号和密码会发送到服务器进行验证,如果账号密码正确,则向客户端发送登录成功的信息;如果账号密码不正确,则向客户端发送信息并以客户端为父窗口弹出子窗口提示说:“账号或密码错误 !”。 2.3.6 聊天功能的实现 用户在聊天界面点击发送按钮后, 消息发送到服务器,服务器的消息进行分析,如果是私聊,分析出发送这和接收者后,将消息转发给接收者。如果是发送给所有人,就遍历管理服务器连接所有人线程的 hashmap,得到连接所有人的线程,将消息发送给所有人,而客户端则遍历管理所有人的聊天界面的 hashmap,得到所有人的聊天界面,将消息发送到所有人的界面上。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。