繁体   English   中英

通过套接字发送不可序列化的对象

[英]Sending a non-serializable object through a Socket

我试图通过使用ObjectOutputStreamObjectInputStream通过java.net.Socketjava.net.ServerSocket发送一些对象,但是遇到了一个问题。 我尝试发送的对象无法序列化。 我尝试将它们作为String发送,但是无法强制转换。 任何解决此问题的方法?

编辑:

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

在Javadoc中,每个单独的Swing组件都会发出很大的警告,提示您不要序列化Swing组件。 阅读。 您应该做的是序列化各个模型。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM