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?

questionAnswers(1)

yourAnswerToTheQuestion