Отправка объекта по Интернету

Я определяю класс, и затем я утверждаю объект того типа класса. Я хочу отправить этот объект в другое JAVA-приложение, работающее на другом компьютере прозрачно. Что лучшая технология должна выполнить это?

8
задан Kevin Panko 19 December 2009 в 02:59
поделиться

4 ответа

вы можете создавать потоки объектов с помощью 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();
10
ответ дан 5 December 2019 в 05:18
поделиться

Вы захотите начать с изучения сериализации с помощью интерфейса Java Serializable . У Sun есть хорошая статья по этому поводу под названием Откройте для себя секреты Java Serialization API .

Обратитесь к руководству по сокетам Java для получения информации о фактической передаче сериализованного объекта по сети.

12
ответ дан 5 December 2019 в 05:18
поделиться

Есть много способов сделать это. Вот несколько вещей, на которые стоит обратить внимание, и вы можете выбрать тот, который лучше всего подходит для вашего приложения.

  • J2EE
  • RMI
  • Сериализация объектов, передавая биты через сокет
  • Веб-сервисы

Практически любой Коммуникационная структура позволит вам тем или иным образом перемещать объекты по сети. Вам просто нужно просмотреть их и посмотреть, что подходит для вашего приложения. Быстрый поиск в Google поможет найти еще больше методов.

6
ответ дан 5 December 2019 в 05:18
поделиться

Стандарт (де-факто) для реализации этого будет заключаться в использовании веб-службы , например, с использованием JAX-WS , который входит в состав Java. 6. См. в этом руководстве пример java-first (т.е. с использованием аннотаций). Это довольно просто и просто.

Существуют и другие подходы, такие как Сериализация через Socket , RMI, EJB, но при работе через Интернет веб-службы являются своего рода естественный выбор, поскольку они полагаются на существующие стандарты (SOAP, HTTP) и легко справляются с межсетевыми экранами (что может быть реальной проблемой для всех других решений).

2
ответ дан 5 December 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: