Как отправлять и получать объекты Java через сокеты? - PullRequest
2 голосов
/ 21 сентября 2011

Я кодирую параллельное приложение ATM, имеющее Клиента и Сервер.

Мне нужно знать, как в этом можно использовать программирование сокетов для вызова методов Сервера (запрос его текущего баланса, перевода средств и т. Д.) И получения Объектов, возвращаемых Клиенту.

Я не хочу просто передавать текст с помощью System.out.println, как упомянуто в Урок: все о сокетах

Ответы [ 4 ]

5 голосов
/ 21 сентября 2011

Вы должны использовать для этого Javas RMI Lib.

Небольшой пример вы можете найти здесь: http://download.oracle.com/javase/1.3/docs/guide/rmi/getstart.doc.html

4 голосов
/ 21 сентября 2011

Вам необходимо сериализовать ваши данные, отправить их и десериализовать. См. Урок: Базовый ввод / вывод для введения в классы сериализации Java.

2 голосов
/ 21 сентября 2011

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

Вам потребуется реализовать протокол уровня приложения поверх сокетов или использовать какой-либо существующий (стандартный) протокол уровня приложения. Вы можете использовать RMI, как предложено ashiaka, или, например, JAX-RS (стандартный API-интерфейс Java для веб-сервисов RESTful). Оба будут использовать сокеты для передачи данных с одного компьютера на другой.

Так что да, это возможно с помощью сокетов, но вам нужно использовать что-то сверх этого для фактического удаленного вызова методов.

1 голос
/ 21 сентября 2011

Я нашел этот учебник действительно полезным http://java.sun.com/developer/technicalArticles/ALT/sockets/

Они говорят:

RMI = Сокеты + Сериализация объектов + Некоторые утилиты

Спасибо, ребятаза участие!

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