Java jar-приложение и java-веб-приложение, коммуникация и реализация - PullRequest
1 голос
/ 19 февраля 2011

У меня есть приложение для многопользовательского игрового сервера, написанное на Java, которое подключается к клиентским игрокам, когда они присоединяются к многопользовательской игре через сокет. Серверное приложение (JAR, работающий в JVM) прослушивает порт (например, 9999) для входящих соединений от клиентов.

Я хочу добавить сайт для мониторинга всего проекта, который содержит информацию, взятую с запущенных игровых серверов. Один из способов - открыть сокет с сайта (например, сокет PHP) для игрового сервера (Java) и реализовать собственный протокол для получения данных с сервера. Но этот метод занимает много времени, так как мне нужно добавить поддержку для каждого типа данных, которые я хочу передать на веб-сайт мониторинга.

Я подумал, есть ли способ написать сайт на Java и просто пообщаться с моим игровым сервером по прямой ссылке. Я полагаю, что решение RMI было бы решением, поскольку и мой JAR, и мой WAR могут обмениваться данными через него, но разве нет лучшего способа построить веб-приложение и приложение игрового сервера в одном файле JAR? Чтобы при запуске моего игрового сервера веб-приложение тоже запускалось?

Ответы [ 2 ]

0 голосов
/ 27 мая 2011

На вашем игровом сервере должен быть встроенный веб-сервер. Попробуйте Jetty (http://jetty.codehaus.org/jetty/). Это довольно легко встроить в любое Java-приложение.

0 голосов
/ 19 февраля 2011

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

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

Ура, Свен

...