C изменить сокет с широковещательного на inaddr_any и привязать

#c #sockets #bind #broadcast

#c #сокеты #привязать #широковещательный

Вопрос:

Добрый день. У меня есть сокет, который выполняет широковещательный обмен данными. После трансляции мне нужно использовать его с inaddr_any, а затем связать его. Должен ли я воссоздать сокет или его можно выполнить без повторного открытия? Спасибо!

Комментарии:

1. Создайте новый сокет.

2. Я полагаю, что вы можете повторно привязать сокет UDP, но вам придется его протестировать. Почему он не привязан к INADDR_ANY в первую очередь? Вы можете транслировать в него или из него.

3. ошибка @EJP 10047 при попытке использовать sendto() с INADDR_ANY. Но если я установлю sin_addr.s_addr на INADDR_BROADCAST — sendto() отлично работает

4. Если я правильно понимаю, после вызова sendto() сокет выполняет привязку к addr. Есть ли какой-нибудь способ его перепривязать?