Как проверить наличие определенных серверов для подключения с помощью поиска Kryonet LAN?

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

При настройке хоста первый игрок вводит имя сервера, а затем второй игрок (клиент) должен искать серверы в локальной сети на этом конкретном порту. Моя проблема в том, что я знаю только о встроенном методе обнаружения узлов Kryonet.

InetAddress address = client.discoverHost(54777, 5000);

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


person gurdingering    schedule 23.04.2016    source источник


Ответы (1)


Неважно! Только что более внимательно посмотрел на библиотеку Kryonet и увидел, что у discoveryHosts() есть еще один метод, который возвращает список InetAddresses. Я думаю, что могу просто пройтись по адресам, отправить пакеты, подтверждающие имя, и когда я попаду на правильный сервер, сохранить это соединение.

person gurdingering    schedule 23.04.2016