¿Cómo se escuchan dos procesos al mismo puerto en Windows 7?
Estoy ejecutando dos instancias de stunnel en Windows 7, configurado para escuchar el mismo puerto, y parece que ambos están escuchando con éxito en el mismo puerto (solo usando socket () / bind () / listen ()). Ambas instancias parecen tener éxito con todas las llamadas y se muestran en un netstat:
C:\>netstat -ano | grep 8000
TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING 5828
TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING 5852
El primero en escuchar recibe todas las solicitudes entrantes.
Esto es bastante opuesto a todas mis expectativas. (Esperaba que EADDRINUSE me dijera que el puerto estaba ocupado). Entonces ...
¿Por qué / cómo funciona esto? ¿Es este comportamiento útil en algún contexto?No quiero que una instancia se ejecute correctamente si otra aplicación va a detectar las solicitudes entrantes ... ¿Cómo hago que el puerto sea exclusivo?