Список доступных серверов в локальной сети

Сеть в Unity3D

Список доступных серверов в локальной сети

Сообщение NapalmRain 06 янв 2017, 19:55

Доброго всем времени суток!
Пишу простую мобильную игру, стоит наипримитивнейшая задача: поиск существующих в локальной сети серверов.
В теории задача не должна быть сложной, ведь она уже решена буквально во всех играх, практикующих локальный мультиплеер.
Официальная документация юнити предлагает делать это по средствам мастер сервера, но в случае с мобильной игрой с мульплеейром на 2-3 человека, заставлять людей моднимать мастер сервер илиже держать свой выделенный нецелесообразно. Посему хотелось бы какой-то иной способ.
На тостере нашёл следующий совет:
Синтаксис:
Используется csharp
UDP broadcast: 255.255.255.255

Затем отвечают те клиенты, которые хотят, чтобы их видели и в ответных пакетах - будут их IP-шники.

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

Заранее благодарю за любой ответ!
NapalmRain
UNIт
 
Сообщения: 74
Зарегистрирован: 24 янв 2014, 15:58

Re: Список доступных серверов в локальной сети

Сообщение BenjaminMoore 08 янв 2017, 01:33

если есть сервера, то и есть сеть, от нее и нужно отталкиваться
в uNet в llapi есть в классе NetworkTransport метод для броадкастинга
вроде и hlapi тоже обертка есть
My hands are hard. My mind is core.
ring0x0000 c0x0063 | write code in rust right now
Аватара пользователя
BenjaminMoore
UNITрон
 
Сообщения: 338
Зарегистрирован: 03 янв 2013, 18:07
Skype: benjminmoore

Re: Список доступных серверов в локальной сети

Сообщение NapalmRain 10 янв 2017, 10:56

BenjaminMoore писал(а):если есть сервера, то и есть сеть, от нее и нужно отталкиваться
в uNet в llapi есть в классе NetworkTransport метод для броадкастинга
вроде и hlapi тоже обертка есть


Благодарю за ответ!
Попробую посмотреть в этом направлении.

Странно, конечно, что такой тривиальный вопрос и не имеет простого и лаконичного ответа...
NapalmRain
UNIт
 
Сообщения: 74
Зарегистрирован: 24 янв 2014, 15:58

Re: Список доступных серверов в локальной сети

Сообщение seaman 10 янв 2017, 15:48

NetworkDiscovery.StartAsServer на сервере - запускаем броадкаст
NetworkDiscovery.StartAsClient - запускаем слушателя броадкаста - клиента
NetworkDiscovery.OnReceivedBroadcast - событие - получили броадкаст на клиенте.

Такое пойдет?
devunity.tk
seaman
Адепт
 
Сообщения: 6493
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Мурманск
  • Сайт

Re: Список доступных серверов в локальной сети

Сообщение NapalmRain 10 янв 2017, 20:29

seaman писал(а):NetworkDiscovery.StartAsServer на сервере - запускаем броадкаст
NetworkDiscovery.StartAsClient - запускаем слушателя броадкаста - клиента
NetworkDiscovery.OnReceivedBroadcast - событие - получили броадкаст на клиенте.
Такое пойдет?


Да, спасибо, я буквально сегодня штудировал весь NetworkDiscovery.
Это, по всей видимости, как раз то, что нужно. На практике только пока не проверял.
NapalmRain
UNIт
 
Сообщения: 74
Зарегистрирован: 24 янв 2014, 15:58


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: BenjaminMoore и гости: 2