Сокеты Java: клиент, «вызывающий объект» на сервере?(Как с C # WCF) - PullRequest
1 голос
/ 01 февраля 2012

У меня нет опыта работы с сетевым программированием на Java, хотя у меня достаточно опыта работы с сетями на C #.

В любом случае, у нас есть программный проект в колледже, и это в основном мессенджер с использованием клиента и сервера.Лектор говорил о том, как клиент взаимодействует с сервером, и он объяснял об объекте, который клиент получит от сервера и будет использовать для отправки запросов.

Для меня это очень похоже на C # WCF, где клиентполучает объект сервера и вызывает его для взаимодействия с сервером.Так есть ли подобный класс / библиотека для Java?Что-то, что позволяет клиенту взаимодействовать с сервером посредством выполнения вызовов на объекте сервера?

Ответы [ 2 ]

1 голос
/ 01 февраля 2012

Он может говорить о RMI . Смотрите краткое руководство по Hello World! .

1 голос
/ 01 февраля 2012

Обычно у вас есть 4+ варианта.

  1. Используйте обычные сокеты и собственный протокол для TCP.Реализуйте свой собственный механизм сериализации / десериализации.Таким образом, объект класса MyMessage будет сериализован во что-то вроде MSG:hello.Эта строка будет отправлена ​​по сети.Другая сторона проанализирует его и создаст экземпляр объекта MyMessage, который является «копией» исходного объекта.

  2. Использовать встроенный механизм сериализации Java.Экземпляры класса, которые вы собираетесь отправлять по сети, должны реализовывать интерфейс тега Serializable.Есть много ссылок, касающихся использования сериализации.

  3. Использовать RMI.Это позволяет вам вызывать метод, который будет выполняться в адресном пространстве другого процесса.

  4. Использование веб-службы (на основе SOAP или RESTfull)

Доступно множество других параметров.Я надеюсь, что эти советы будут полезны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...