@andrkkk

Как на клиенте, с помощью широковещательного запроса найти сервер (Winsock)?

Есть сервер на пк, тут же запускаю клиент (Все по UDP). Как сделать широковещательный запрос, чтобы найти сервер, получить его ip (ну тут 127.0.0.1 и будет в любом случае думаю) и порт, чтобы заполнить структуру :
RecvAddr.sin_family = AF_INET;
RecvAddr.sin_port = htons(Port);
RecvAddr.sin_addr.s_addr = inet_addr("127.0.0.1");

и далее общаться именно с этим сервером. Планируется запускать несколько серверов и выбирать один из них для дальшейшей связи.
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Клиент шлёт широковещательный (SO_BROADCAST) пакет "Сервер, ау!" на broadcast-адрес сети.
Сервер, получив такой запрос шлёт непосредственно клиенту пакет "Аюшки?"
Клиент, получив такой ответ от сервера запоминает адрес отправителя.
Если ответили несколько серверов, то клиент выбирает понравившийся.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы