下载此文档

实现一个一对多聊天程序.doc


文档分类:生活休闲 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍

实现一个一对多的聊天程序
一、实验题目
实现一个一对多的聊天程序。其基本过程如下:服务器首先启动,创建套接字后等待客户的连接;客户启动以后,创建套接字,然后和服务器建立连接;连接建立后,客户机和服务器可以通过建立的套接字连接进行通信。服务器和客户端可以是一台电脑上的两个进程,也可以分别部署在两台电脑上。
二、原理概述
TCP是一种可靠的、基于连接的网络传输协议,当两个网络进程准备进行通信时,都必须首先建立各自的一个套接口,其中服务器建立套接口后,侦听来自网络的客户连接请求,客户通过套接口,指定服务器的IP 地址和端口号,便可与服务器通信。
聊天程序采用的是C/S通信模式,即客户/服务模式,它把一个应用划分成功能不同的两个部分,分别在不同的计算机上运行,其中一个为服务端程序,用来响应和提供固定的服务,一个为客户端程序,用来向服务端提出请求和要求某种服务。在数量关系上,通常有一对多的(即一个服务端程序和一个客户端程序之间通信)。
客户机/服务器模式在操作过程中采取的是主动请示方式:
首先服务器方要先启动,并根据请示提供相应服务:
(1)打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。
(2)等待客户请求到达该端口。
(3)接收到重复服务请求,处理该请求并发送应答信号。
(4)返回第二步,等待另一客户请求
(5)关闭服务器。
客户方:
(1)打开一通信通道,并连接到服务器所在主机的特定端口。
(2)向服务器发送服务请求报文,等待并接收应答;继续提出请求……
(3)请求结束后关闭通信通道并终止。
图1基于连接的服务者、客户服务流程图
三、设计方案
服务程序运行在服务器主机的某个端口上,一旦启动服务,它将在这个端口上倾听,等待客户程序发来的请求。服务器的套接口用服务器套接口类(ServerSocket)来建立。
1、根据程序设计题目时首先明确程序的目的以及任务
2、利用JAVA语言编写程序,使用套接字来完成测试功能。
3、程序在Eclipcse环境中编译,根据错误提示查找分析并修改原程序
四、程序编写:
import ;
import ;
import ;
import ;
import ;
import .ServerSocket;
import .Socket;
import ;
import ;
import ;
/** 
 * ***@Title 服务器
 * ***@author Allen
 * ***@version 2010-5-3 下午08:28:36
 */
public class Server {
ServerSocket server = null;
List<SC> clients = new ArrayList<SC>();
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm:ss");
public void begin(){
//读取客户端的userName
BufferedReader bufUserName = null;
boolean started = false;
String userName = null;
try {
server = new ServerSocket(8888);
("服务器启动成功!  端口" + () + "监听中...");
started = true;
while(started){
Socket socket = ();
bufUserName = new BufferedReader(new InputStreamReader(()));
userName = ();
("用户:" + userName + "  IP: " + () + "   client connect...");
//();
SC sc = new SC

实现一个一对多聊天程序 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人坐水行舟
  • 文件大小428 KB
  • 时间2018-09-30
最近更新