2013-04-21 7 views
0

Я хочу написать простое клиентское серверное приложение, в котором они развернуты в разных местах, сервер должен предоставить клиенту два общедоступных метода и обеспечить обмен данными между ними до минимума, я спустился вниз путь использования сокетов, однако, как клиент вызывает общедоступный метод на сервере? Или есть другой способ?Приложение клиентского сервера Java

ответ

2

Существует несколько способов сделать это, но я бы посмотрел на RMI. Это делает методы вызова на удаленных java-объектах довольно легкими. По-прежнему будут выполняться протоколы низкого уровня (сокеты/tcp), но вам не нужно будет это явно обойтись.

+0

Я так не думаю, я чувствую, что Халид мог использовать сервлеты там, чтобы развить веб-сервис. –

+0

Если сервер работает на сервере приложений, таком как Tomcat, и может выставлять веб-службы, то уверен, что это можно сделать именно так. Но если сервер - это еще один процесс, запускающий java-приложение, которое, как я подозреваю, основано на этом вопросе, тогда веб-службы на самом деле не помогут. –

+0

Ты абсолютно прав, Джефф. Но похоже, что Халид не знает о возможности использования сервера приложений, учитывая, что он задал вопрос. –

1

Вам нужно закодировать требуемое действие и ответ в каком-либо текстовом или двоичном формате.

Простой способ сделать это - отправить имя метода, который вы хотите вызвать, а другой конец - имя и вызывает метод этого имени. Если вы хотите сделать это короче, вы можете отправить (byte) 1 для вызова первого метода и (byte) 2 для вызова второго метода и т. Д. И использовать оператор switch для вызова соответствующего метода.

+0

Спасибо, что я рассматривал это как опцию, требование заключается в том, чтобы сервер предоставлял два общедоступных метода, которые клиент может вызвать. – Khalid

+0

Вот что я предложил. Это в основном то, что делает RMI (с дополнительной функциональностью) –

Смежные вопросы