sha*_*nit 1 java sockets serializable
我正在尝试使用套接字将客户端连接到服务器。
服务器代码:
ServerSocket server = new ServerSocket(6780);
Socket clientSocket = server.accept();
ObjectInputStream fromClient= new ObjectInputStream(clientSocket.getInputStream());
ObjectOutputStream toClient = new ObjectOutputStream(clientSocket.getOutputStream());
Run Code Online (Sandbox Code Playgroud)
客户端代码:
Socket nodeSocket = new Socket(ServerIP, 6780);
ObjectInputStream fromServer = new ObjectInputStream(nodeSocket.getInputStream());
ObjectOutputStream toServer = new ObjectOutputStream(nodeSocket.getOutputStream());
toServer.writeObject(this);
Run Code Online (Sandbox Code Playgroud)
当客户端连接时,服务器侦听并接受客户端连接。但是当我尝试将我的类对象写入服务器时,“toServer.writeObject(this);” 它抛出
java.io.NotSerializableException: Peer
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at Peer.requestEntryNode(Peer.java:47)
at Peer.main(Peer.java:87)
Run Code Online (Sandbox Code Playgroud)
Peer 是我的班级名称。
我试图找出这个异常的原因,它说需要写入的对象必须是可序列化的。我还尝试从 Peer 类实现 Serializable 接口。但这没有帮助。
任何人都可以建议吗?
确保您的类Peer
及其依赖项确实实现了该java.io.Serializable
接口:
import java.io.Serializable;
public class Peer implements Serializable {
...
}
Run Code Online (Sandbox Code Playgroud)