Просто хочу знать, есть ли учебное пособие или инструкции для сериализации объектов, помещения их в поток по сети и десериализации его с другой стороны. Я понимаю принципы сериализации, ввода-вывода, потоков, сокетов и т. Д. Мне просто хотелось бы, чтобы клиент, отправляющий объект на сервер, начинал с него.Сериализация Java по сети
ответ
This (pdf) - полезный учебник, в котором вы познакомитесь с основами сериализации и сокетов, затем объединяете эти два понятия (примерно на полпути через слайды), чтобы показать, как сериализовать объект и отправить его с клиента на сервер (без RMI). Я думаю, это именно то, что вы хотите.
Его довольно простой, на самом деле. Просто сделайте ваши объекты сериализуемыми и создайте ObjectOutputStream и ObjectInputStream, которые связаны с любым базовым потоком, который у вас есть, например FileInputStream и т. Д. Затем просто напишите() любой объект, который вы хотите передать, и прочитайте его с другой стороны.
Heres a example для вас.
Вы могли бы хотеть быть немного более осторожным о закрытии ресурсов, чем этот пример. –
Java обеспечивает (двоичную) сериализацию объектов с использованием ObjectOutputStream (и ObjectInputStream). Вы можете просто записатьObject() в поток и readObject() на другом конце. Все, что вам нужно для этого, это реализовать интерфейс Serializable.
Но вместо того, чтобы делать это вручную, вам может быть интересно подняться на один уровень вверх и использовать Remote Method Invocation. С помощью RMI вы можете вызывать методы для объектов, которые живут в другой JVM, и вся сериализация и создание сетей происходят под капотом.
И для полноты, есть также XML bean serialization, если вы не можете использовать двоичный формат. Этот формат XML очень общий (читается: подробный и уродливый), но есть некоторые популярные библиотеки (например, XStream), которые создают альтернативные сериализации XML.
вы можете создавать потоки объектов с помощью java api и отправлять любой сериализуемый объект. но вы будете иметь в виду, что они идут в незашифрованном виде через сеть:
на стороне отправителя:
CustomObject objectToSend=new CustomObject();
Socket s = new Socket("yourhostname", 1234);
ObjectOutputStream out = new ObjectOutputStream(s.getOutputStream());
out.writeObject(objectToSend);
out.flush();
и на приемном конце:
ServerSocket server = new ServerSocket(1234);
Socket s = server.accept();
ObjectInputStream in = new ObjectInputStream(s.getInputStream());
CustomObject objectReceived = (CustomObject) in.readObject();
- 1. Сериализация объектов сети Java
- 2. Сериализация курсоров мыши по сети
- 3. C# - Сериализация пакетов по сети
- 4. Сериализация JFrame и отправка по сети
- 5. Бинарная сериализация ObservableCollection и передача по сети
- 6. Сериализация открытого ключа для отправки по сети
- 7. сериализация протобуф-сети enum
- 8. Сериализация: значение serialVersionUID в сети
- 9. Отправить файлы по сети - JAVA
- 10. Сериализация типов данных для использования по сети в F #
- 11. Сериализация Java - несовместимая serialVersionUID
- 12. Сериализация объектов Java. Советы по производительности.
- 13. Сериализация объектов в сети - с существующим протоколом
- 14. Сериализация по сравнению с байтовым кодом
- 15. Сериализация в java
- 16. Селективная сериализация объекта Java
- 17. Сериализация Java в XML
- 18. Сериализация объектов (Java)
- 19. Сериализация функций как данных на Java?
- 20. Сериализация списка Java
- 21. Сериализация Canvas в Java
- 22. Скорость сокета Java по локальной сети
- 23. Java: попытка отправить кучу информации по сети
- 24. Java: проблема с сериализацией по локальной сети
- 25. Java- Передача данных по сети для ISO8583
- 26. Java различает сериализацию на диске по сети
- 27. Java Socket не передает данные по сети
- 28. Отправка списка по сети в Java
- 29. Сериализация объектов Java (Обработка)
- 30. Отправка данных по сети
Действительно показать, как использовать сериализацию и разъемы, спасибо! – elbaid