Я не уверен, что принятый ответ верен, когда речь идет о мире Windows.
У меня есть класс UDPSocket
, вдохновленный этим ответом .Это использовалось в течение долгого времени и функционирует нормально.Но я просто попытался использовать ее для создания функции WakeOnLan()
, которая транслирует на 255.255.255.255
, и вызов sendto()
не удался с ошибкой сокета Windows 10013 - Отказано в доступе (по крайней мере, как было проверено в моей системе Windows 7).*
Поэтому я расширил свой конструктор UDPSocket
с помощью вызова setsockopt()
, основанного на ответе Реми Лебо на этот вопрос , размещенном сразу после вызова socket()
.Это включило широковещательную рассылку и было отсутствующей ссылкой при создании моей функции WakeOnLan()
.
Я не предполагаю, что это "ответ", но это слишком долго для комментария, и вики сообщества может понравитьсяредактировать более общую истину в этом ответе в интересах тех, кто находит принятый ответ, не хватает.