Java: объединение сервера в клиент - PullRequest
1 голос
/ 07 мая 2011

У меня очень простая пошаговая онлайн-игра на Java.клиент общается с сервером, используя обычные java-сокеты.

Теперь для того, чтобы играть в игру в автономном режиме, я хочу объединить сервер с клиентом.

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

есть идеи, как мне это сделать?какие технологии использовать?

спасибо!

1 Ответ

2 голосов
/ 07 мая 2011

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

Версией localhost может быть просто прямой вызов на сервер, возможно, имитация одностороннего вызова с помощью службы исполнителя. Должно быть некоторое повышение производительности, так как вам не нужно тратить дополнительное время на сериализацию и десериализацию ваших сообщений. Абстрактный фасад хорош тем, что вы можете разместить готовые реализации для тестирования.

Что касается запуска сервера в том же процессе, что и у клиента, на этом не должно быть никаких ограничений, кроме того, что сервер запускается первым;)

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