Я пытаюсь отправить несколько объектов по java.net.Socket
и java.net.ServerSocket
с помощью ObjectOutputStream
и ObjectInputStream
, но я столкнулся с проблемой. Объекты, которые я пытаюсь отправить, не являются сериализуемыми. Я пробовал отправлять их как String
, но его нельзя отличить. Какие-либо проблемы вокруг этой проблемы?Отправка объекта без сериализации через Socket
EDIT:
Я просматривал StackTrace проблемы, и обнаружил, что это бросок JLabel. Я думал, что это странно, из-за того, что JLabel реализует Serializable. Но когда я проверил JavaDocs через eclipse и подошел к линии, где ошибка выкидывалась public boolean updateImage(ect..)
и поняла, что это связано с Icon. Есть ли способ избежать проблемы?
Какой тип объектов и почему они не могут быть сериализуемыми? –
@MattBall com.apple.laf.AquaInternalFrameUI. Я пытаюсь отправить JInternalFrames – TheNerdyCoder
Как можно что-то тесно связанное с пользовательским интерфейсом и оборудованием на одной системе, возможно, будет восстановлено как действительный объект на удаленной системе? Если вы хотите выполнить что-то подобное, вам нужно создать свой собственный объект транспорта состояния, который инкапсулирует все, что имеет смысл и переносится в отношении объекта в источнике, а затем в целевой системе создайте новый объект с тем же состоянием, что и в этом контексте. –