W jaki sposób dwa procesy słuchają tego samego portu w systemie Windows 7?
Korzystam z dwóch instancji stunnel w systemie Windows 7, skonfigurowanych do słuchania tego samego portu i wygląda na to, że oba z powodzeniem nasłuchują na tym samym porcie (tylko przy użyciu socket () / bind () / listen ()). Obydwie instancje odnoszą sukces przy wszystkich połączeniach i pojawiają się w netstacie:
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
Pierwszy, który nasłuchuje, otrzymuje wszystkie przychodzące żądania.
Jest to zupełnie przeciwne wszystkim moim oczekiwaniom. (Spodziewałem się, że EADDRINUSE powie, że port jest zajęty.) Więc ....
Dlaczego / Jak to działa? Czy to zachowanie jest przydatne w pewnym kontekście?Nie chcę, aby wystąpienie zakończyło się powodzeniem, jeśli inna aplikacja przechwyci przychodzące żądania ... Jak zrobić wyłączność portu?