实验八
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告
课程名称:Java语言程序设计
实验项目:实验八网络编程
实验地点:致远楼B401
专业班级:软件1132班学号:2011005494 学生姓名:靳莹莹
指导教师:相洁
2013年11 月
实验名称实验八网络编程
实验目的和要求
(1)掌握TCP编程:Sodket的概念和编程方法。
(2)掌握URL类的使用:URL的概念和编程。
实验内容
(1)使用socket编写一个服务器端程序,服务器端程序在端口8888监听,如果它接到客户端发来的"hello"请求时会回应一个"hello",对客户端的其他请求不响应。
(2) 使用Socket编程,客户机发送数据到服务器,服务器将接收到的数据返回给客户机。
(3)设计图形用户界面的客户端程序和服务器端程序,实现客户端读取服务器段内容,要求支持客户端的多线程操作。
主要仪器设备笔记本计算机
实验记录
(1)import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import .Socket;
import .UnknownHostException;
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
Socket clientServer = null;
try {
// String inputString;
clientServer = new Socket("127.0.0.1", 8888);
System.out.println("请输入信息:");
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
// 标准输入流,键盘输入
PrintWriter os = new PrintWriter(clientServer.getOutputStream());
// 由socket对象得到的输出流
BufferedReader is = new BufferedReader(new InputStreamReader(
clientServer.getInputStream()));
// 由socket对象的搭配输入流
String input = br.readLine();
while (input.equals("hello")) {
os.println(input);
os.flush();
System.out.println("客户端发出的消息为:" + input);
System.out.println("服务器发回的消息为:" + is.readLine());
input = br.readLine();
}
os.close();
br.close();
is.close();
clientServer.close();
System.out.println("聊天结束!");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import .ServerSocket;
import .Socket;
import java.io.*;
public class Server {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ServerSocket server = null;
try {
server = new ServerSocket(8888);
} catch (Exception e) {
// server.close();
System.out.println("Error:" + e);
System.exit(-1);
}
Socket client = null;
try {
client = server.accept();
} catch (Exception e) {
System.out.println("接受请求失败!");
System.exit(0);
}
// String inputString;
BufferedReader is = new BufferedReader(new InputStreamReader(
client.getInputStream()));
// 由socket对象得到输入流,并构造相应的对象
PrintWriter os = new PrintWriter(client.getOutputStream());
// 由socket对象得到输出流,并构造相应的对象
String str = is.readLine();
os.println("hello,this is server");
os.flush();
System.out.println("客户端发送的消息为:" + str);
System.out.println("服务端发送的消息为:" + "hello,this is server");
is.close();
os.close();
server.close();
client.close();
System.exit(0);
} catch (Exception e) {
System.out.println("Errors:" + e);
}
}
}
(2)import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import .ServerSocket;
import .Socket;
public class Server {
public static void main(String[] args) {
// TODO Auto-generated method stub