[英]SocketException: Connection reset when serializing
我有一个基本的 TCP 连接,我通过序列化将 object 从客户端发送到服务器。 但是在执行这个简单的任务时我遇到了一个错误,下面是代码:
客户:
public client() throws IOException{
Socket socket = new Socket("127.0.0.1", 4390);
System.out.println("Client connected with server");
Student student = new Student(1, "jemoi", "lerry");
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(student);
}
服务器:
public server() throws IOException, ClassNotFoundException{
ServerSocket serverSocket = new ServerSocket(4390);
System.out.println("Server initialized successfully");
Socket socket = serverSocket.accept();
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
Student student = (Student)ois.readObject();
System.out.println("Object send from client: " + student.getFirstName());
}
错误:
Exception in thread "main" java.net.SocketException: Connection reset
错误发生在以下行:
Student student = (Student)ois.readObject();
找到了解决方案。 我忘记在客户端设置来自 ObjectOutputStream 的 close()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.