2010-12-06 59 views
-1

這是我在客戶端套接字java.lang.ClassCastException ObjectOutputStream中的readObject

Socket connected = Server.accept(); 
ObjectOutputStream oos = new ObjectOutputStream(connected.getOutputStream()); 

oos.writeObject(dPFPSample.serialize()); 

這一點,我在服務器上使用的插座

Socket clientSocket = new Socket("localhost", 5002); 
ObjectInputStream ois = new ObjectInputStream(clientSocket.getInputStream()); 

DPFPSample dpfpSample = (DPFPSample) ois.readObject(); 

我得到一個錯誤代碼中使用的代碼java.lang.ClassCastException exception on ois.readObject() line

+3

什麼是`dPFPSample.serialize()`在做什麼? – Progman 2010-12-06 11:49:03

+0

我們可以有完整的堆棧跟蹤嗎? – 2010-12-06 11:49:23

回答

6

我會假設你的DPFPSamle.serialize()返回不同於DPFPSamle的東西。我會說你不需要調用任何序列化方法。該流將處理它。因此,請致電writeObject(dPFPSample)

爲了使您的班級(您正在嘗試發送的班級 - 即DPFPSample)必須實施java.io.Serializable界面。