Tengo un socket UDP escuchando en un puerto para transmisiones de difusión y funciona bien.El socket de escucha UDP deja de escuchar después de cambios en la configuración de red
Sin embargo, cuando hiberno y reinicio el sistema operativo (Windows 7), el socket simplemente deja de recibir datos (y puedo ver que hay datos que llegan usando Wireshark).
Esto también ocurre si cambio cualquier configuración de red como, cambiar mi dirección IP, deshabilitar y habilitar el adaptador de red.
El sistema operativo parece deshabilitar todos los adaptadores de red cuando está hibernando y volver a habilitarlos cuando se reanude.
select
acaba de devolver 0
(tiempo de espera) que no es diferente de cuando no estoy recibiendo datos. No pude encontrar ninguna referencia a este comportamiento en ninguna parte.
Si cierro el socket y lo vuelvo a crear, comienza a funcionar nuevamente.
Mis tomas de escucha TCP siguen funcionando bien después de reanudar el sistema operativo.
¿Alguna idea sobre cómo detectar y corregir esta situación?
EDIT: Todavía recibe datos de direcciones directamente bien, simplemente ya no recibe transmisiones de difusión.
Edit2: Sólo descubierto que si escribo a la toma (enviar un paquete falso a cualquier lugar) se empieza a trabajar de nuevo ...
es posible que desee agregar etiquetas con las versiones de Windows relacionadas – jgauffin
¿cuál es la dirección a la que está vinculado el socket? – User