当前位置:文档之家› 传输层协议的简单应用

传输层协议的简单应用

沈阳工程学院

学生实验报告

课程名称:计算机网络

实验题目:传输层协议的简单应用

班级学号姓名

地点指导教师

实验日期: 年月日

一、实验目的

掌握套接字编程方法。

二、实验环境

F605机房Cisco Packet Tracer软件。

三、实验内容与要求

任务1:编写程序实现单客户聊天室

步骤1. 阅读下面的关于TCP编程的Java知识

TCP通信使用Scoket套接字实现。套接字代表计算机之间网络连接的对象,它提供了很多方法实现计算机之间的网络通信。下面介绍使用Scoket套接字实现网络通信的步骤。

⑴创建服务器端套接字

服务器端套接字是ServerSocket类的实例对象,用于实现服务器程序,ServerSocket类监视指定的端口,并建立客户端到服务器端套接字的连接,也就是负责客户端的呼叫任务。

ServerSocket类有很多常用构造方法,下面只介绍一种。注意,服务器端所有的构造方法均需要处理IOExceptipon异常。

例如:

try{

ServerSocket ss=new ServerSocket(1880);

//监听端口号为1880的端口,ss为服务器端套接字的对象

}catch(IOException e)

{//在此编写脚本处理输入输出异常

⑵创建客户端套接字

客户端端套接字是Socket类的实例对象,用于实现客户端程序。

Socket类常用构造方法很多,下面只介绍一种。同样,客户端所有的构造方法均需要处理IOExceptipon异常。

try{

Socket mysocket=new Socket("http://192.168.0.78",1880);

//建立于IP地址为192.168.0.78,端口号为1880的服务器的连接

}catch(IOException e)

{//在此编写脚本处理输入输出异常

}

当客户端套接字连接建立后,一条服务器与客户端的通信线路就建立起来了。

⑶服务器端接受客户端请求

在服务器端利用其accept()方法接收客户端的套接字连接请求。

例如,上面创建的服务器端套接字ss接受客户端请求,代码如下:

try{

mysocket =ss.accept();//ss为上面创建的服务器套接字对象,accept()接收

}catch(IOException e)

{//在此编写脚本处理输入输出异常

⑷客户端发送和接收服务器

Socket类提供了getInputStream ()方法和getOutStream()方法来接收和发送数据。这两个方法分别返回InputStream和OutputSteam 类对象。

为了便于读/写数据,可以在返回的输入/输出流对象上建立过滤流,如DataInputStream、DataOutputStream或PrintStream类对象,对于文本方式流对象,可以采用InputStreamReader和OutputStreamWriter、PrintWirter等处理。

步骤2:配置Java程序运行环境变量

在桌面“我的电脑”图标上单击右键,选择“属性”菜单,将出现系统特性设置窗口,如图1所示。

图1 系统特性设置窗口

在“高级”选项卡中单击“环境变量”按钮。将出现“环境变量”设置窗口,如图2所示。

图2 “环境变量”设置窗口

在“系统变量”列表框中选择“Path”,然后单击“编辑”按钮,在出现的“编辑系统变量”对话框中,在“变量值”栏的命令最前面添加“C:\Program Files\Java\jdk1.6.0_18\bin;”命令,如图3所示。

图3 “编辑系统变量”Path对话框

用同样方法设置环境变量“classpath”,其值为“.; C:\Program Files\Java\jdk1.6.0_18\jre\lib\rt.jar;”命令,由于一般系统安装时没有classpath这个环境变量,所以要新建该环境变量,如图4所示。

图4 “新建系统变量”Classpath对话框

设置完成后,单击“开始”/“所有程序”/“附件”/“命令提示符”打开DOS窗口,在命令提示符下输入“java”或“javac”,回车后,如果出现其用法参数提示信息,则表明安装配置成功,如图5所示。

图5 MS-DOS中javac命令执行结果

测试自己的实验环境,如果输出结果不正确,则配置Java环境变量,且将配置过程写入实验报告。

步骤3. 编写、编译和运行程序

将程序代码、编译和运行命令写入实验报告,且写出屏幕显示信息的执行过程。

步骤4.试着修改端口号。

试着修改程序中客户与服务器连接的端口号,重新编译和运行

程序,观察程序运行结果,分析端口号的作用,写入实验报告。

步骤5.试着修改端口号。

两个同学一组,一个为服务端,一个为客户端,试着修改程序中客户与服务器的连接,重新编译和运行程序,观察程序运行结果,分析端口号的作用,写入实验报告。

任务2:扩展任务,修改程序实现多客户聊天室

提示:使用Java语言多线程技术。

四、实验过程及结果分析

1.编写程序实现单客户聊天室

步骤1. 阅读下面的关于TCP编程的Java知识

步骤2:配置Java程序运行环境变量,

按实验内容与要求的步骤完成。

步骤3. 编写、编译和运行程序

(1)编写程序

客户端程序:

import java.io.*;

import .*;

public class Student{ //学生类

public static void main(String args[]) {

try{

Socket socket=new Socket("172.2071.90",4700);

//向本机的4700端口发出客户请求

BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));

//由系统标准输入设备构造BufferedReader对象

PrintWriter os=new PrintWriter(socket.getOutputStream());

//由Socket对象得到输出流,并构造PrintWriter对象

相关主题