没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
课 题: QQ
在线聊天
专 业: 软件工程
班 级: 1
班
姓 名: XXXXX
学 号: XXXXXXXXX
指导教师: XXXXXX
设计日期: 2012
年
1
月
5
日
成 绩:
XXXXXXX 学院电气信息学院
目 录
五、总结…...............………………………………………………………………..........….17
一、开发工具及相关技术介绍
1.1 Socket 简介
Socket 是 java 中需一要编写较低层次的网络通信程序(例如 Cljent/server 应用程序)
时提供的一种通讯机制。Socket 是两个程序进行双向数据传输的网络通信的端点,一般
由一个地址加上一个端日号来标一识。每个服务程序都在一个众所周知的端口上提供服
务,而想使用服务的客户端程序则需要连接该端口。通过 Socket 的数据是原始字节流信
息,通信双方必须根据约定的协议对数据进行处理与解释。
Socket 通信机制提供了两种通信.方式:有连接方式(TCP)和无连接方式(UDP 数
据报)。有连接方式中,通信双方在开始时必须进行一次连接过程,建立一条通信链路。
通信链路提供了可靠的,全双工的字节流服务。无连接力一式中,通信双方不存在一个连
接过程,一次网络 I/O 以一个数据报形式进行,而每次网络 I /O 可以和不同.主机的不
同进程进行。无连接方式开销小于有连接方式,但是所提供的数据传输服务不可靠,不
能保证数据报一定到达目的地”」·。
JAVA 的有连接通信采用流式 I/O 模式。Socket 是两个进程间通信链的端点,每个
Sockct 有两个流:一个输入流和一个输出流。只要向 Sockct 的输出流写,一个进程就可
以通过网络连接向其他进程发送数据;同样,通过读 Sockt 的输入流,就可以读取传输
来的数据。
有连接通信一般要经历以下四个基本步骤 ii
(1)创建 Sockct,建立连接;
(2)打开连接到 Sockct 的输入/输出流;
(3)按照一定的一脚议对 Socket 进行读/写操作;
(4)关闭 Socket。
第(3)步是程序员用来调用 Socket 和实现程序功能的关键步骤,其他三步在各种
程序中基本相同。
1.2 模型介绍
C/S 是 Client/Server 的缩写,即客户机/服务器技术,一也可以称为 C/S 模型。很显然,
C/S 技术有以下几个基木特点:
(1)C/S 技术一定包含两个部分,一个作为用户接口的前端,另一个作为共享资源接口
的后端。前端被称为客户端,后端被称为服务器端。客户进程包含逻辑和提供用户接口,
服务进程充当一个管理共享资源的软件引擎,这些共一享资源可以是数据库,打印机,调
制解调器和处理机等。
(2) 前端与后端的任务对计算机资源有完全不同的要求,这些计算机资源包括:
处理机速度,内存,磁盘速度,容量,输入输出设备等。
(3) 客户机与服务器由于可能基于完全不同的硬件和操作系统,所以它们之间的
交流川一能完全通过一套标准的已定义的 API 与 RPC。
C/S 软件技术是一种通用的,基于消息的技术。在这里,网络上的一台计算机向网络上
的另外一台计算机请求一个进程或数据,如下图所示。
Client/Server 结构的优点是速度快,缺点是 Server 进行更新时,Client 也必需更新
1.3 用 Java 实现 Socket 模型
首先,我们先介绍一卜 Sockct 的运行过程。通常在服务器的指定端口被绑定一个
Sockct,此时服务器只是处于等待状态,.监听客户的连接请求。这个过程如图 2 一 2 所示。
服务器一旦接收到客户机的连接请求,服务器选择一个新的端口并绑定一个新的 Sockct 与
客户端建立的 Sockct 对,这个过程如图 2 一 3 所示。
对客户机来说,连接请求被接受,客户端的 Sockct 便被成功创建了,Sockct 通信便
可以开始进行。由于 Sockct 端的输出流是服务端的输入流,Server 端的输入流是服务器
的输出流,反之亦然,所以,Client 和 Server 以通过读写各自 Sockct 进行交流。
关于 Java 里 Sockct 的运行过程实现。服务器使用 ServerSockct 类来处理客户机的连接请
求。当客户机连接到服务器所监听的端口时,ServerSockct 将分配一个新的 Socket 对象。
这个新的 Sockct 对象将连接到一些新端口,负责处理与之相对应客户机的通信。然后,服
务器继续监听 ServerSockct,处理新的客户机连接。
客户机首先创建一个 Sockct 对象,用于和服务器的通信。之后需创建两个对象:
DataInputStream 和 PrintStream,前者用于从 Sockct 的 InputStream 输入流中读取数据,
后者则用于向 Sockct 的 OutputStream 的写数据。
1.4 Java 中的线程模型简介
线程是程序中的一个执行流。一个执行流是由 C}U 运行程序代码并操纵程序的数
据所形成的。因此,线程被认为是以 CPU 为主体的行为。在 Java 中线程的模型就是一
个 CPU、程序代码和数据的封装体。Java 中的线程模型包含三部分。
(1)一个虚拟的 CPU。
(2)该 C}U 执行的代码。
(3)代码所操作的数据。
二、系统需求分析
2.1 系统任务描述
本系统是采用 Java 基于 C/S 开发的聊天室。管理员在经过登录界而进入管理员界而,
即系统的服务器端并启动服务器后。此时一,如果有用户登录会在服务器端显示登录用户
的用户名和当前连接的用户人数,如果有用户聊天,服务器会显示出聊天信息。管理员在
管理界面中可以随时关闭服务器。此时,所有的客户端都将失去和服务器端的连接,从而
用户所有的聊天信息发送将不成功。
用户只需要在登录界面中输入正确的用户名和密码即可登录聊天室并且连接上服务器。
在聊天室中,用户可以和聊天室中所有的用户发送信息,还可以接收所有用户发送的信
剩余16页未读,继续阅读
资源评论
- huzhancheng2013-01-22sp做的项目,有文档,有程序,项目可以导入。
red12red
- 粉丝: 2
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功