Connection reset错误

客户端


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client {

	public static void main(String[] args) {
		try {
			// 创建客服端Scoket,指定服务器地址和端口
			
			Socket socket = new Socket("192.168.1.67", 8787);// localhost表示本地地址
			// 获取输出流,想服务器端发送信息
			OutputStream outputStream = socket.getOutputStream();// 字节流输出
			PrintWriter printWriter = new PrintWriter(outputStream);// 将字节流转换成(包装为)打印流
			printWriter.write("用户名:admin\t密码:123123");
			printWriter.flush();// 调用flush()刷新缓存
			socket.shutdownInput();// 关闭输出流
			//获取输入流,并读取服务器端的响应信息
			InputStream inputStream=socket.getInputStream();
			InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
			BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
			String data=bufferedReader.readLine();
			if (data!=null) {
				System.out.println("我是客服端:服务器说"+data);	
			}
			// 关闭资源
			inputStreamReader.close();
			bufferedReader.close();
			inputStream.close();
			outputStream.close();
			printWriter.close();
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}



服务器


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

	public static void main(String[] args) {
		try {
			// 创建一个服务器端的Socket,即ServerSocket。指定绑定端口,并监听

			ServerSocket serverSocket = new ServerSocket(8787);
			System.out.println("*********服务器即将启动,等待客户端连接********");
			// 调用accept()开始监听,等待客户端连接。
			Socket socket = serverSocket.accept();
			// 获取输入流,并读取客户端信息。
			InputStream inputStream = socket.getInputStream();// 字节流输入
			InputStreamReader inputStreamReader = new InputStreamReader(inputStream);// 将字节流转化为字符流
			BufferedReader bufferedReader = new BufferedReader(inputStreamReader);// 为输入流添加缓冲
			String data = null;
			while ((data = bufferedReader.readLine()) != null) {
				System.out.println("我是服务器:客服端说:" + data);
				// data = bufferedReader.readLine();
			} // 循环读出客户端的信息

			// 获取输出流,响应客户端请求
			OutputStream outputStream = socket.getOutputStream();
			PrintWriter printWriter = new PrintWriter(outputStream);// 包装为打印流
			printWriter.write("欢迎您");
			printWriter.flush();// 调用flush()将缓存输出

			// 关闭相关的资源
			socket.shutdownInput();// 关闭输入流
			printWriter.close();
			outputStream.close();
			inputStream.close();
			inputStreamReader.close();
			bufferedReader.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}


错误

*********服务器即将启动,等待客户端连接********
java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
	at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
	at sun.nio.cs.StreamDecoder.read(Unknown Source)
	at java.io.InputStreamReader.read(Unknown Source)
	at java.io.BufferedReader.fill(Unknown Source)
	at java.io.BufferedReader.readLine(Unknown Source)
	at java.io.BufferedReader.readLine(Unknown Source)
	at Server.main(Server.java:24)


随便一个名
浏览 3598回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java