- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
青 岛 理 工 大 学
课程实验报告
课程名称 Java网络程序设计 班级 网络122 实验日期 2015.9.21 姓名 钱鹏飞 学号 201207160 实验成绩 实验名称 实验1 简单的客户/服务器通信
实
验
目
的
及
要
求
1. 实现基于Socket的简单客户/服务器通信
实
验
环
境
1. Windows 7
2. eclipse
实
验
内
容
分别编写基于Socket的客户程序和服务器程序,在Java虚拟机环境下运行,使得客户程序和服务器程序能够简单地进行通信。
调
试
过
程
及
实
验
结
果 一 、实验过程:
1、编写客户端程序:
(1)创建客户端Socket,连接服务器端主机和端口。
(2)获取和服务器端Socket进行数据通信的输入流,并通过该输入流读取服务器端发送来的数据。
(3)获取和服务器端Socket进行数据通信的输出流,并通过该输出流向服务器端写数据。
2、编写服务器端程序:
(1)创建服务器端ServerSocket,并与本地固定端口绑定。
(2)等待客户连接,直到连接成功,创建服务器端Socket。
(3)获取和客户端Socket进行数据通信的输入流,通过该流读取客户端发送的数据。
(4)获取和客户端Socket进行数据通信的输出流,通过该流向客户端写数据。
3、编译客户端和服务器端程序,并生成相应的类文件。
4、先运行服务端程序,再运行客户端程序,然后二者进行数据通信。
实验结果如下截图:
.
1.服务器启动,客户机与服务器进行通信并得到服务器响应。
2. 客户端发送特定字符串“bye!”结束与服务器的通信。
源
程
序
代
码
////Client.java
import java.net.*;
import java.io.*;
import java.util.*;
public class EchoClient {
private String host=localhost;
private int port=8000;
private Socket socket;
public EchoClient()throws IOException{
socket=new Socket(host,port);
}
public static void main(String args[])throws IOException{
new EchoClient().talk();
}
private PrintWriter getWriter(Socket socket)throws IOException{
OutputStream socketOut = socket.getOutputStream();
return new PrintWriter(socketOut,true);
}
private BufferedReader getReader(Socket socket)throws IOException{
InputStream socketIn = socket.getInputStream();
return new BufferedReader(new InputStreamReader(socketIn));
}
public void talk()throws IOException {
try{
BufferedReader br=getReader(socket);
PrintWriter pw=getWriter(socket);
BufferedReader localReader=new BufferedReader(new InputStreamReader(System.in));
String msg=null;
while((msg=localReader.readLine())!=null){
pw.println(msg);
System.out.println(br.readLine());
if(msg.equals(bye))
break;
}
}catch(IOException e){
e.printStackTrace();
}finally{
try{socket.close();}catch(IOExcepti
文档评论(0)