没有合适的资源?快使用搜索试试~ 我知道了~
毕设论文--于基cs模型的java聊天室.doc
0 下载量 147 浏览量
2023-07-08
18:02:58
上传
评论
收藏 413KB DOC 举报
温馨提示
试读
44页
毕设论文--于基cs模型的java聊天室.doc
资源推荐
资源详情
资源评论
巢湖学院毕业设计(论文)
0
前言
使用 Java 开发网络程序在网络飞速发展的今天已经显得格外重要,与使用其他语言
开发网络程序一样,Java 的网络开发是相当方便的,通过 Socket 进行网络信息传输。但
与其他语言不同,Java 语言天生具备网络开发的优越性,使用 Java 可以快速开发安全
的基于网络的服务和应用程序。
在网络飞速发展的今天,各种各样的的交流变的非常重要。人们的交流已经不能局
限在小范围内,人们渴望与其他国家或地区的人们进行交流。但由于地域的限制使人们
不可能在短时间内得到面对面的交流。于是,人们不得不使用 Internet 这个可以把全世
界所有的人短时间内都联系到一起的新生事物,所以网上聊天室就诞生了。刚开始的聊
天室的功能很简单,就是单纯的文字交流。但随着时间的发展和技术的提高,现在的聊
天室已经具备强大的功能。例如,传输文件,语音聊天,视频聊天等。使人们不仅仅满
足于言语上的交流,还可以分享彼此的珍藏的图片,看到对方的面容。这些新功能都受
到了大家的一致好评。随着手机可以上网,手机也可以登录到网上聊天室中,使人们不
仅仅局限于坐在电脑前聊天,可以随时随地的上网聊天。
巢湖学院毕业设计(论文)
1
第一章 绪论
(一)论文背景及课题来源
随着网络技术的发展和普及,Internet 已经成为人们获取有关信息和相互交流的重
要途径之一,越来越多的机构和组织开始利用网络资源传递、发布、收集和管理信息。
这对各种类型的网络提供一次很大的挑战与机遇,特别是通过网络进行信息交互的这种
活动,更加使网络的经营方式充满了活力和机动性
[5]
。
基于 C/S 模型的 Java 聊天室是应用于网络交流领域的系统,它的主要特点有:
1.通用性:聊天室系统在各种各样的网络中均可以运行,系统具有较高的可移植
性和使用性;
2.实用性:系统具有良好的人机界面,便于各类使用者操作,提供了人性化的服
务;
3.及时性:通过网络的连接,系统双方的交流可以在短期内进行,相比与传统面
对面的交流节省不少时间
[15]
。
聊天室中聊天内容的及时性和准确性是极其重要的,它主要针对当今社会快节奏生
活,人们没有很多时间来等信息。本系统提供的功能便于系统使用双方的信息交流,有
效的提高了使用者的使用效率,缩短了使用者的使用时间
[6]
。
(二)本课题在国内外的发展状况
随着网络技术的发展和普及,多数网站纷纷利用自己的网络资源建立聊天室,并为
客户提供各种各样便捷的服务。中国的一些龙头网站,如 sina,有很多聊天室,供国内
外的不同的人们进行不同话题的讨论,不仅将会员发展由国内延伸到国际,更是为提高
自身的知名度提供了方便
[2]
。
聊天室的开放性、信息资源的多样性可为网站发展提供优良的广告宣传和商品推广,
这是其他网站活动方式所无法比拟的,聊天室趋向方便化、快捷化是各大网站成长的必
然经历的阶段
[8]
。
(三)应解决的问题及系统开发意义
本系统针对聊天室用户的需要,建立了客户端和服务器端。主要解决的问题包括:
1.服务器端和客户端要实现界面化,并且界面尽量人性化。
2.服务器端能够正确的启动,并且时刻监视客户端,保持与客户端的连接。
3.客户端能够快速准确的连接上服务器端,发送的信息经服务器端可以转发给其
他客户。
巢湖学院毕业设计(论文)
2
4.异常处理,对于用户的不正确的操作系统应该有提示。
基于 C/S 的 Java 聊天室系统它的开发意义在于为人们之间相互交流提供了一个快
捷、方便的应用平台。大型网站可以通过聊天室来提高自身的知名度,增加的访问流量。
第二章 开发工具及相关技术介绍
(一)Java 与 Socket 简介
Java 语言是 Sun 公司于 1991 年创建的一种新的程序设计语言。该语言与 C/C++等
传统程序设计语言不同,具有突出的平台独立性,高度的可靠性和安全性特点。1999
年 6 月 SUN 公司重新定义了 Java 技术的结构,将 Java2 平台分为三个版本:标准版
(J2SE),企业版(J2EE)和微缩版(J2ME)。目前,Java 技术除了沿着 J2SE,J2EE,J2ME
三种技术为主脉络迅速发展外,还密切关注 Internet 环境下各种新型信息技术的发展,
并能够迅速与这些新技术融合,积极支持这些新技术应用的开发
[1]
。
Socket 是 Java 中需要编写较低层次的网络通信程序(例如 Client/Server 应用程
序)时提供的一种通讯机制。Socket 是两个程序进行双向数据传输的网络通信的端点,
一般由一个地址加上一个端口号来标识。每个服务程序都在一个众所周知的端口上提供
服务,而想使用服务的客户端程序则需要连接该端口。通过 Socket 的数据是原始字节
流信息,通信双方必须根据约定的协议对数据进行处理与解释
[15]
。
Socket 通信机制提供了两种通信方式:有连接方式(TCP)和无连接方式(UDP 数
据报)。有连接方式中,通信双方在开始时必须进行一次连接过程,建立一条通信链路。
通信链路提供了可靠的,全双工的字节流服务。无连接方式中,通信双方不存在一个连
接过程,一次网络 I/O 以一个数据报形式进行,而且每次网络 I/O 可以和不同主机的不
同进程进行。无连接方式开销小于有连接方式,但是所提供的数据传输服务不可靠,不
能保证数据报一定到达目的地
[14]
。
Java 的有连接通信采用流式 I/O 模式。Socket 是两个进程间通信链的端点,每个
Socket 有两个流:一个输入流和一个输出流。只要向 Socket 的输出流写,一个进程就
可以通过网络连接向其他进程发送数据;同样,通过读 Socket 的输入流,就可以读取
传输来的数据
[9]
。有连接通信一般要经历以下四个基本步骤:
创建 Socket,建立连接;
打开连接到 Socket 的输入/输出流;
按照一定的协议对 Socket 进行读/写操作;
巢湖学院毕业设计(论文)
3
关闭 Socket。
第(3)步是程序员用来调用 Socket 和实现程序功能的关键步骤,其他三步在各种
程序中基本相同
[5]
。
(二)JBuilder5 介绍
JBuilder5 是美国 Borland 公司最新推出的遵循 SUN 公司 J2EE 标准的集成开发工
具,是目前使用最广泛的 Java 开发工具之一。JBuilder 作为业界领先的 Java 开发工具,
在集成了 Tomcat 并支持 WebLogic 的同时,其套装版更是集成了 DreamweaverUltraDev,
Rational Rose 等产品,JBuilder5 提供了可视化的集成开发工具,支持开发人员向导极
大地简化了开发人员的工作,使开发更为快捷,方便
[12]
。
JBuilder5 是一组全面的高效率工具,使用 Java 编程语言创建可伸缩的,高性能的
和具有不依赖于平台性能的应用程序。由于可伸缩性和基于组件,JBuilder 可以开发所
有级别的应用工程,从 Apple 到连接企业级的,分布式的,多层解决方案的网络数据库
应用。JBuilder5 环境是用纯 Java 编写。任何 Java 编写的程序都可以在 JBuilder 上运
行、调试和工作
[3]
。
(三)C/S 模型介绍
C/S 是 Client/Server 的缩写,即客户机/服务器技术,也可以称为 C/S 模型。很显
然,C/S 技术有以下几个基本特点:
1.C/S 技术一定包含两个部分,一个作为用户接口的前端,另一个作为共享资源接
口的后端。前端被称为客户端,后端被称为服务器端。客户进程包含逻辑和提供用户接
口,服务进程充当一个管理共享资源的软件引擎,这些共享资源可以是数据库,打印机,
调制解调器和处理机等。
2.前端与后端的任务对计算机资源有完全不同的要求,这些计算机资源包括:处
理机速度,内存,磁盘速度,容量,输入输出设备等。
3.客户机与服务器由于可能基于完全不同的硬件和操作系统,所以它们之间的交
流可能完全通过一套标准的已定义的 API 与 RPC。
4.可伸缩性是 C/S 系统的一个很重要特性。无论是水平伸缩还是垂直伸缩都有很
出色的表现。在这里,水平伸缩(Horizontal scaling)意味着方便地添加和删除客户
工作站。垂直伸缩(Vertical scaling)意味着移植到一个更大更快速的服务器或多服
务器时,即服务的升级和集群都会比较方便
[4]
。
C/S 软件技术是一种通用的,基于消息的技术。在本论文中,我们这样描述 C/S,
网络上的一台计算机向网络上的另外一台计算机请求一个进程或数据,如图 1 所示。
巢湖学院毕业设计(论文)
4
图 1: C/S 技术模型
Client/Server 结构的优点是速度快, 缺点是当 Server 进行更新时, Client 也必需
更新
[6]
。
(四)用 Java 实现 Socket 模型
首先,我们先介绍一下 Socket 的运行过程。通常在服务器的指定端口被绑定一个
Socket,此时服务器只是处于等待状态,监听客户的连接请求。这个过程如图 2 所示。
图 2: 服务器监听客户的连接请求
服务器一旦接收到客户机的连接请求,服务器选择一个新的端口并绑定一个新的
Socket 与客户端建立的 Socket 对,这个过程如图 3 所示。
对客户机来说,连接请求被接受,客户端的 Socket 便被成功创建了,Socket 通信
便可以开始进行。由于 Server 端的输出流是服务端的输入流,Server 端的输入流是服
务器的输出流,反之亦然,所以,Client 与 Server 可以通过读写各自 Socket 进行交流。
下面我们来看看在 Java 里对 Socket 的运行过程实现。服务器使用 ServerSocket
类来处理客户机的连接请求。当客户机连接到服务器所监听的端口时,ServerSocket 将
服务器
客户端
请求
网络
服务器
客户端
监
听
端
口
连接请求
响应
剩余43页未读,继续阅读
资源评论
matlab大师
- 粉丝: 2442
- 资源: 9万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功