网络编程之java.net.SocketException: Connection reset异常问题(一)

错误代码:

客户端:

//3.获取输入流,用来读取服务器端的响应信息
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String info = null;
while((info = br.readLine()) != null){//循环读取客户端的信息
System.out.println("我是客户端,服务器说:"+info);
}

服务器端:

//4.获取输出流,响应客户端的请求
OutputStream os = socket.getOutputStream();//字节输出流
PrintWriter pw = new PrintWriter(os);//将输出流包装为打印流
pw.write("欢迎您!");
pw.flush();//刷新缓存,将缓冲输出


解决方法:

服务器端:

//4.获取输出流,响应客户端的请求
OutputStream os = socket.getOutputStream();//字节输出流
PrintWriter pw = new PrintWriter(os);//将输出流包装为打印流
pw.write("欢迎您!");
pw.flush();//刷新缓存,将缓冲输出
socket.shutdownOutput();//此处必须写

客户端:

//3.获取输入流,用来读取服务器端的响应信息
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String info = null;
while((info = br.readLine()) != null){//循环读取客户端的信息
System.out.println("我是客户端,服务器说:"+info);
}
socket.shutdownInput();//此处不写,本实验也运行成功,但其他程序不写是否成功,还未知。

你可能感兴趣的:(网络编程之java.net.SocketException: Connection reset异常问题(一))