Tôi đang chạy hai trường hợp của stunnel trong Windows 7, được cấu hình để nghe cùng một cổng và dường như cả hai đều lắng nghe thành công trên cùng một cổng (chỉ cần sử dụng socket()/bind()/listen()). Cả hai trường hợp đều xuất hiện để thành công với tất cả các cuộc gọi và chúng hiển thị trong một netstat:Hai quy trình lắng nghe cùng một cổng trong Windows 7 như thế nào?
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
Người đầu tiên nghe được tất cả các yêu cầu đến.
Điều này hoàn toàn trái ngược với tất cả mong đợi của tôi. (Tôi đã mong đợi để có được EADDRINUSE nói với tôi cảng đã được bận rộn.) Vì vậy ....
- Tại sao/Làm thế nào để làm việc này? Hành vi này có hữu ích trong một số ngữ cảnh không?
- Tôi không muốn một cá thể chạy thành công nếu ứng dụng khác sắp bắt các yêu cầu gửi đến ... Làm cách nào để làm cho cổng độc quyền?
Cảm ơn, tôi nghĩ rằng lá cờ giống hệt với cờ UNIX cùng tên. MSDN đã khai sáng: http: //msdn.microsoft.com/en-us/library/windows/desktop/ms740621(v=vs.85).aspx – Olson