第六章java 网络编程 实验指导书.doc_第1页
第六章java 网络编程 实验指导书.doc_第2页
第六章java 网络编程 实验指导书.doc_第3页
第六章java 网络编程 实验指导书.doc_第4页
第六章java 网络编程 实验指导书.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第XX章java网络编程 实验指导书实验目标: 掌握套接字相关类的使用,掌握Web相关类的使用。第一部分 指导(50分钟)J包提供了支持基于套接字的客户端/服务器通信的类。Socket、ServerSocket、DatagramSocket类可实现用于面向连接的通信和无连接的同喜的客户端和服务器套接字。DatagramPacket类用于构造UDP数据报报文。套接字相关类的使用:以下是一个套接字的程序,在此程序中客户端将向服务器发送请求,而服务器将接收发送给它的请求并将其写入文件。下列程序有用于服务器和客户端程序的代码,客户端程序和服务器程序应该同一机器上运行。在运行FClient程序之前要先运行FServer。完成客户端的步骤如下:1. 创建一个具有服务器IP地址和端口号的Socket对象。Socket soc=new Socket(localhost,4001);2. 客户端接受输入。BufferedReader br=new BufferedReader(new InputStreamReader(System.in);System.out.println(请输入消息至服务器);String message=;String temp;while(!(temp=br.readLine().equals(send)message=message+temp+n;3. 客户端向服务器发送请求。PrintStream ps=new PrintStream(soc.getOutputStream();ps.print(message);4. 关闭PrintStream和Socket对象ps.close();soc.close();下面看一下完整的程序。1 创建FClient.java。并键入下列的代码。import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import .Socket;public class FClient public static void main(String args) throws Exception Socket soc=new Socket(localhost,4001);BufferedReader br=new BufferedReader(new InputStreamReader(System.in);System.out.println(请输入消息至服务器);String message=;String temp;while(!(temp=br.readLine().equals(send)message=message+temp+n;PrintStream ps=new PrintStream(soc.getOutputStream();ps.print(message);ps.close();soc.close();2 将程序以FClient.java 保存完成服务器端程序代码步骤如下:1. ServerSocket对象等待客户端在端口号4001上建立连接。ServerSocket ss=new ServerSocket(4001);2. 一旦客户端建立连接,accept()方法即被调用以接受连接。Socket soc=ss.accept();3. 服务器接受请求。BufferedReader br=new BufferedReader(new InputStreamReader(soc.getInputStream();String message=;String temp=null;dotemp=br.readLine();if(temp=null)break;message=message+temp;while(true);br.close();4. 服务器将请求写入文件。PrintStream ps=new PrintStream(new FileOutputStream(message.txt);ps.println(message);ps.close();下面看一下完整的程序。1. 创建FServer.java。并键入下列的代码。import java.io.BufferedReader;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.io.PrintStream;import .ServerSocket;import .Socket;public class FServer public static void main(String args)throws ExceptionServerSocket ss=new ServerSocket(4001);Socket soc=ss.accept();BufferedReader br=new BufferedReader(new InputStreamReader(soc.getInputStream();String message=;String temp=null;dotemp=br.readLine();if(temp=null)break;message=message+temp;while(true);br.close();PrintStream ps=new PrintStream(new FileOutputStream(message.txt);ps.println(message);ps.close();System.out.println(已存储消息);2.将程序以FServer.java 保存运行程序,A先运行FServer 运行服务器端。B运行FClient 运行客户端在出现消息“输入消息至服务器”后,然后输入下列文本。This is an example for Socket related classes Welcome to socket program键入send 并按下回车键,输入的信息将保存早message.txt文件中。以上程序的输出结果如图1.1和1.2所示。图1.1图1.2第二部分 练习(50分钟)修改本阶段的第一部分中完成的程序,是服务器将向客户端返回响应。提示:客户端代码包含下列步骤:a 创建一个具有服务器IP地址和端口号的Socket对象,以创建至服务器的连接。b 客户端接收服务器发送的响应c 在客户端上显示响应d 不安比PrintStream和Socket对象。服务器代码包含下列步骤:a ServerSocket对象等待客户端在某端口号上建立连接。b 一旦客户端建立连接,accept()方法即被调用以接受连接。c 服务器接收请求。d 编写对客户端的响应。e 关闭服务器和客户端的套接字。客户端代码如下:import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.PrintStream;import java.io.PrintWriter;import .Socket;public class FClient public static void main(String args) throws Exception Socket soc=new Socket(localhost,4001);System.out.println(Connection to Server);BufferedReader b=new BufferedReader(new InputStreamReader(System.in);InputStream in=soc.getInputStream();BufferedReader br=new BufferedReader(new InputStreamReader(System.in);OutputStream out=soc.getOutputStream();PrintWriter pw=new PrintWriter(new OutputStreamWriter(out);String k=;while(!k.equals(stop)k=b.readLine();pw.println(k);pw.flush();k=br.readLine();System.out.println(k);pw.close();br.close();soc.close();服务器端代码如下:import java.io.BufferedReader;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.PrintStream;import java.io.PrintWriter;import .ServerSocket;import .Socket;public class FServer public static void main(String args)throws ExceptionServerSocket ss=new ServerSocket(4001);System.out.println(Waiting for Client);Socket soc=ss.accept();System.out.println(Connection to Client);InputStream in=soc.getInputStream();BufferedReader br=new BufferedReader(new InputStreamReader(soc.getInputStream();OutputStream out=soc.getO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论