没有合适的资源?快使用搜索试试~ 我知道了~
基于java的聊天室客户端大学本科毕业论文.doc
0 下载量 90 浏览量
2023-07-10
12:38:17
上传
评论
收藏 259KB DOC 举报
温馨提示
试读
21页
基于java的聊天室客户端大学本科毕业论文.doc
资源推荐
资源详情
资源评论
摘要
随着互联网的发展,网络聊天工具作为一种交流工具,已经受到网民的青睐。
目前,出现了很多功能强大的聊天工具,其中应用比较广泛的有腾讯 QQ、
MSN-Messager 等等。
这个项目是用 Java 技术制作的,其中 Java 是一种程序设计语言,它具有简
单的、面向对象、分布式、健壮性、安全性、可移植性等特点,并且提供了多线
程的功能,使得在一个程序里可同时执行多个小任务,开发中利用了计算机网络
编程的基本理论知识,如 TCP/IP 协议、客户端/服务器端模式(Client/Server 模
式)、网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来
实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本
的软件工程的方法。经过分析这些情况,该局域网聊天工具采用 Eclipse 为基本
开发环境和 Java 语言进行编写,首先可在短时间内建立系统应用原型,然后,
对初始原型系统进行不断修正和改进,同时,采用多线程、多任务的设计思想,
开发出性能稳定,功能全面的服务器。完整的实现系统的功能。通过本次毕业设
计可以学到如何应用和实现面向对象的各种方法,如何使用 Eclipse 集成开发环
境来创建和开发项目,从而完整的实现整个系统的功能。
该系统主要包括了服务器端和客户端界面使用两部分,其中服务器端用来接
收新用户的注册和注册用户的登录验证以及进行服务器信息和用户信息的管理,
其中用到了 Socket 套接字建立服务器,服务器能读取、转发客户端发来的信息。
客户端通过注册界面让新用户进行注册;通过登录界面使用已注册的用户名和密
码登录到聊天服务器;用户通过登录验证后即可进行在线聊天。多用户的即时聊
天功能必须使用 Thread 类来建立多线程。本聊天系统采用 Eclipse 为基本的开发
环境,用 java 语言进行程序的编写的。
关键词:客户端/服务器,多线程,聊天,socket
ABSTRACT
With the development of the Internet, the chat tool as a communication tool, has
been popularly accepted by netizens of all ages. At present, there are many powerful
chat tools, of which Tencent QQ,MSN - Messager are much more prevalent.
This project is with Java technology produced of, which Java is a programming
language, it has simple of, and-oriented object, and distributed, and robust sexual, and
security, and portability, features, and provides has multithreaded of features, makes
in a program in can while implementation multiple small task, development in the
using has computer network programming of basic theory knowledge, as TCP/IP
agreement, and client/server end mode (Client/Server mode), and network
programming of design method,. Read, send to the information in network
programming, is to use streams to achieve the exchange of information, which he
introduced to the realization of a system of information flow analysis, contains some
basic software engineering methods. After analysis of the situation, using Eclipse as a
development environment and LAN chat tool written in the Java language, first of all,
you can build systems application prototype in a short time, and then, to keep the
initial prototype system fixes and improvements, at the same time, multithreaded,
multitasking design ideas, developed a stable performance, full-featured server.
Complete system functionality. This can learn how to apply for graduation design and
realization of object-oriented methods, how to use the Eclipse integrated development
environment to create and develop projects, so as to complete the entire system
functionality.
The system includes both server-side and client-side interface uses two main
parts, which server to use for new user registrations and registered user login
authentication, and server information and user information management, which was
used to establish Server Socket , the server can read the message, forwarded to the
client. Registered by the client interfaces to register new users through login with a
registered username and password to log on to the chat server; after user login
authentication for online chat. Multi-user chat Thread class must be used to create
threads. This chat system uses Eclipse as a basic development environment, with
programs written in the Java language.
Key words: Client / server, multiple threads, chat, socket
目录
1.绪论............................................................................................................................................1
1.1 课题背景 .......................................................................................................................................1
1.2 课题研究的目的和意义 ...............................................................................................................1
1.3 国内外概况 ...................................................................................................................................2
1.4 课题的主要研究工作 ...................................................................................................................2
2. 系统开发环境与实用技术 ..........................................................................................................2
2.1 本课题开发环境的选择...............................................................................................................2
2.2 本课题开发工具的选择 ...............................................................................................................3
2.3 SOCKET 技术.................................................................................................................................4
2.4 多线程技术 ..................................................................................................................................4
3. 系统的分析与设计 .....................................................................................................................5
3.1 系统的总体需求 ...........................................................................................................................5
3.2 客户端的功能 ...............................................................................................................................6
3.3 流程设计 .......................................................................................................................................7
3.4 分析 SOCKET 在客户端的开发流程.............................................................................................8
3.5 系统的设计方案 ...........................................................................................................................8
3.6 性能需求分析 ............................................................................................................................10
4. 系统的实现...............................................................................................................................10
4.1 系统的模块分析 .........................................................................................................................10
4.2 主要引入的包 .............................................................................................................................10
4.3 主要代码 .....................................................................................................................................11
4.4 界面设计 .....................................................................................................................................14
5. 总结 ..........................................................................................................................................17
参考文献 ........................................................................................................................................18
致谢................................................................................................................................................18
1. 绪论
随着信息科学的进步与互联网络的发展,虽然通过网络的聊天软件很多,但
针对于内部系统的、局域网内的聊天和公司内部的上下级沟通的聊天通讯软件却
很少。所以开发一个此类型的即时通讯系统就变得非常有意义了。而在技术选择
上 Java 技术自然成为实现此系统的首选。本文所介绍的网络聊天系统是基于
JAVA 编程语言开发设计的,其主要特性是能动态、实时的完成消息的传递,且
具有高效的交互性,能更有效的处理客户请求,其运行时所需环境及工作流程和
各模块的工作原理将在本文依次介绍,并且文中提供了部分程序源代码。
1.1 课题背景
在这个信息极其发达的时代,我们目前可以用来进行信息交流的方法也非常
多,比如电报、电话、电子邮件等通讯手段,但是这些或者不方便或者有局限性
或者有费用的问题,比如电话就是属于费用比较高的一种方式,电子邮件则不是
一种及时联系的手段,需要一定时间才能到达,只能作为一种辅助交流的手段。
但是,聊天室这个就能很好的解决这个问题,大家可以各自在不同的地点就可以
在聊天室中发言,大家互相讨论,而且好的聊天室还有各种表情符号等可以加强
我们的表达,并且费用低廉,信息交流速度快,只有这样,才能在这个涌动的社
会中加强联系,创造出更多的财富。
1.2 课题研究的目的和意义
近年来,随着 Internet 的迅速崛起,互联网已日益成为收集提供信息的最佳
渠道并逐步进入传统的流通领域。于是网络聊天室开始流行起来,越来越多的用
户通过网络聊天畅谈自己的心扉。
随着越来越多的应用人群,开发一个网络聊天室是极其有意义的。本课题主
要介绍的是基于 JAVA 的网络聊天室的开发设计,其主要功能是能够动态、实时
的完成信息的传递,并且具有高效的交互性和有效的处理用户请求,易于维护和
更新。
为了更好的充实人们的生活,我特做此系统更满足人们在日常生活的需要和
需求,也为了满足人们在信息流通方面的方便,使得人们更能分享互联网上的资
源,使得的网络的意义更能充分的体现。
交流是系统的关键也是目的,它能让你在简单的对话中了解复杂的社会,多
彩的世界,使得人与人之间的距离彻底拉近,就像是面对面的交谈,彼此之间没
有界限,没有差别,只有心与心的共振。
1.3 国内外概况
目前国内外做聊天系统的公司很多,产品也琳琅满目,国内有诸如腾讯
QQ、新浪 UC、网易泡泡等,国外有著名的 MSN 以及跨平台 Gaim 等。本人取
最具代表性的 QQ 和 MSN 进行了一些研究,作为我开发聊天系统的准备。腾讯
无疑是国内即时通讯市场的霸主,自从 99 年进入即时通讯领域并迅速占市场之
后,其在国内用户数量始终高居榜首,即使近几年面对微软 MSN 的强大攻势,
腾讯 QQ 的时常占有率依然稳步增长。腾讯的成功与其对 QQ 的不断创新和完善
是分不开的。参考了许多网络上的资料,以及自己通过观察腾讯 QQ 运行时的各
种细节。可以确定腾讯 QQ 是以多服务器提供服务、服务器总控客户端、客户端
之间 UDP 直连通信的。并且在两个客户端之间不能建立直连的情况下,才由服
务器进行中转通信。
1.4 课题的主要研究工作
本系统是一个典型的聊天系统。该程序分两大部分来编写,服务器端和客户
端。服务器端用来响应客户端所发出的请求,并把接受到客户端的响应分别作出
响应的处理。客户端用来接收用户的请求,然后做出相应的操作。
其中网络传输的实现和多线程技术是此聊天系统的核心部分,而 Java 提供
的 API 函数中针对网络编程的 Socket 类正是针对网络编程的,Java 语言是一种
支持多线程的语言,多线程在服务器端主要是要满足支持多个用户的同时登陆,
在客户端主要满足一对多的同时聊天。
2. 系统开发环境与实用技术
2.1 本课题开发环境的选择
在进行开发之前,首先决定的第一个问题就是该使用什么开发环境来编写,
以目前常用的开发语言来讲有 C/C++、NET 技术、JAVA、VB 几种。还有
Eclipse、JBuilder 等,这些并不是语言,而是程序在构建程序时的“集成开发工
具”,不过它们在开发设计的过程中也占有相应重要的角色,因为选用正确的集
成开发工具,可以加速程序设计的进行、测试与排错,因而对整体进度具有决定
性的影响。
1、就执行平台而言,必须考虑的问题之一是用户可能使用的操作系统。用
户可能使用的是 Windows 和 Linux。JAVA 语言具有平台无关性,可以不需要任
何修改就可以运行在支持 JAVA 的任何计算机上。
2、JAVA 的 Swing 组件开发技术可以开发丰富的图形界面,并且 Swing API
类提供了丰富的外部接口和方法,可以方便实现系统功能。
剩余20页未读,继续阅读
资源评论
Mmnnnbb123
- 粉丝: 709
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功