我正嘗試使用套接字將客戶端連接到服務器。java.io.NotSerializableException :: ObjectOutputStream:writeObject方法
Server代碼:
ServerSocket server = new ServerSocket(6780);
Socket clientSocket = server.accept();
ObjectInputStream fromClient= new ObjectInputStream(clientSocket.getInputStream());
ObjectOutputStream toClient = new ObjectOutputStream(clientSocket.getOutputStream());
客戶端代碼:
Socket nodeSocket = new Socket(ServerIP, 6780);
ObjectInputStream fromServer = new ObjectInputStream(nodeSocket.getInputStream());
ObjectOutputStream toServer = new ObjectOutputStream(nodeSocket.getOutputStream());
toServer.writeObject(this);
當客戶端連接,服務器偵聽並接受客戶端連接。 但是,當我嘗試寫我的類對象到服務器,「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)
同行是我的類名。
我試圖找出這個異常的原因,它說,需要寫入的對象必須是可序列化的。 我也嘗試從Peer類實現Serializable接口。但是這沒有幫助。
任何人都可以建議嗎?
請在這裏發佈你的同伴班的相關部分。當類定義中包含不可序列化的成員時,NotSerializableException可能會上升。 – user35443