簡體   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