JAVA — как организовать протокол общения клиента и сервера?
Здравствуйте и огромное спасибо за ответы.
Хотелось бы спросить, каким способом в java принято "разруливать" приходящие пакеты от клиента на сервере, сериализация и десериализация пакетов из json или protobuf, как вариант для формата данных это более и менее понятно, но каким способом(думаю их не мало) лучше всего "разруливать" пришедшие данные в методы классов?
Пока в голову лезет 2 возможных варианта:
1) Отправлять в пакетах идентификатор команды и далее уже через switch вызывать тот или иной метод.
2) Подозреваю есть реализации для вызова по имени метода:
php:
- function_exists для определения наличия метода
- call_user_func для вызовы
lua:
- pcall для вызова
Возможно, что-то описал неверно, спасибо за понимание.
Обратите внимание на данный фреймворк resteasy.jboss.org
Работа с ним довольна проста и решит большинство ваших потребностей. Вот простейший пример www.mkyong.com/webservices/jax-rs/resteasy-hello-w... Мы делаем так - есть расшаренный проект , содержащий DTO классы. И клиент и сервер знают эти классы. Клиент шлет запрос на сервер . DTO заворачиваются в JSON RestyGWT(мы на GWT пишем). Сервер парсит с помощью RestEasy. Также вот неплохая библиотека для работы с JSON https://code.google.com/p/google-gson/ , может пригодится.