




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国特种纸行业市场深度研究及发展前景投资可行性分析报告
- 2025至2030中国特殊砂浆行业发展趋势分析与未来投资战略咨询研究报告
- 教育行业的大数据应用学生潜能的深度挖掘
- 乌鲁木齐在线课程全解析助力教育现代化
- 教育培训行业发展趋势总结及预测
- 教育技术如何推动课堂互动与沟通的改进
- 克拉玛依职业技术学院《现代光纤通信系统实训》2023-2024学年第一学期期末试卷
- 2024-2025学年辽宁省大连市西岗区九上化学期末联考模拟试题含解析
- 南京艺术学院《制药工程安全与环保》2023-2024学年第一学期期末试卷
- 2024-2025学年山东省青岛市五校九上化学期末监测试题含解析
- HPE 3PAR8400、HPE 3000B SAN Switch安装及维护手册
- 酸碱平衡判断血气分析六步法新版培训课件
- 房建施工流程示意图自己编制
- (学霸自主提优拔尖)苏教版四年级数学上册第一单元《升和毫升》(知识点、常考题、易错题、拓展题)名师详解与训练
- (完整版)GJB150A三防试验(霉菌盐雾湿热)
- 汽轮机厂工业驱动技术介绍
- DB13T 5274-2020 医疗机构安全生产风险管控与隐患排查治理规范
- 新概念英语第一册单词汇总打印版已排版
- 混凝土施工仓面设计
- 电话号码中的数学问题
- 环氧树脂地坪漆施工规范
评论
0/150
提交评论