通过Socket发送不可序列化的对象

时间:2013-04-01 23:35:13

标签: java serversocket notserializableexception

我正在尝试使用java.net.Socketjava.net.ServerSocket通过ObjectOutputStreamObjectInputStream发送一些对象,但我遇到了一个问题。我正在尝试发送的对象不可序列化。我已经尝试将它们作为String发送,但它无法投射。解决这个问题的任何解决办法?

编辑:

我正在查看问题的StackTrace,发现它被JLabel抛出。我认为这很奇怪,因为JLabel实现了Serializable。但是,当我通过eclipse检查JavaDocs并来到public boolean updateImage(ect..)引发错误的行并意识到这是由于Icon。有没有办法避免这个问题?

2 个答案:

答案 0 :(得分:2)

每个Swing组件的Javadoc中都有一个响亮的警告,指出没有序列化Swing组件。阅读。您应该做的是序列化相应的模型。

答案 1 :(得分:0)

您需要实现Serializable接口配合;) 看看这里:http://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html

您需要在尝试通过套接字发送的对象的类上实现此接口。