Поиск сервера в локальной сети при подключении по Wi-Fi
Добавлено: 17 июл 2017, 15:24
Сервер запускается внутри самого приложения при нажатии на кнопку на каком-то устройстве (Android, Windows Phone или OIs), подключенного по Wi-Fi к какой-то локальной сети.
Как сделать "кричащий" о своём существовании сервер внутри локальной сети, чтобы приложение на другом устройстве могло его увидеть?
Или, как узнавать IP устройства, на котором включили сервер, на другом устройстве, в программе, внутри локальной сети? Как клиентам узнать о создании сервера?
Или, как посылать широковещательный UDP запрос с сервера внутри локальной сети И как повесить слушателя на клиенте, использую конкретный порт?
Для подключения на одном устройстве запускаю приложение дважды (в одном из которых запускаю сервер), использую этот код:
Для запуска сервера использую:
Для подключения на клиенте использую:
Так всё работает. Проверяю подключение клиента к серверу на клиенте так:
Connectingg - это UI Text
Как сделать "кричащий" о своём существовании сервер внутри локальной сети, чтобы приложение на другом устройстве могло его увидеть?
Или, как узнавать IP устройства, на котором включили сервер, на другом устройстве, в программе, внутри локальной сети? Как клиентам узнать о создании сервера?
Или, как посылать широковещательный UDP запрос с сервера внутри локальной сети И как повесить слушателя на клиенте, использую конкретный порт?
Для подключения на одном устройстве запускаю приложение дважды (в одном из которых запускаю сервер), использую этот код:
Для запуска сервера использую:
Синтаксис:
Используется csharp
Network.incomingPassword = "Parol";
bool useNat = !Network.HavePublicAddress();
Network.InitializeServer(32, 25002, useNat);
MasterServer.RegisterHost("gameTyptName", "gameName", "Comment");
bool useNat = !Network.HavePublicAddress();
Network.InitializeServer(32, 25002, useNat);
MasterServer.RegisterHost("gameTyptName", "gameName", "Comment");
Для подключения на клиенте использую:
Синтаксис:
Используется csharp
Network.Connect("127.0.0.1", 25002, "Parol");
Так всё работает. Проверяю подключение клиента к серверу на клиенте так:
Connectingg - это UI Text
Синтаксис:
Используется csharp
void Update()
{
if (Network.peerType == NetworkPeerType.Connecting) {
Connectingg.text = "Connecting.."; }
if (Network.peerType == NetworkPeerType.Client) {
Connectingg.text = "Good"; }
}
{
if (Network.peerType == NetworkPeerType.Connecting) {
Connectingg.text = "Connecting.."; }
if (Network.peerType == NetworkPeerType.Client) {
Connectingg.text = "Good"; }
}