我正在Windows 7中运行两个stunnel实例,它们配置为监听同一个端口,看起来它们都成功地在同一个端口上监听(只是使用了socket() / bind() / listen())。这两个实例似乎都成功地处理了所有调用,并且它们出现在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
第一个监听到的程序接收所有传入的请求。
这与我的所有预期相反。(我原以为会收到 EADDRINUSE 告诉我端口已经被占用。)那么...
- 为什么/如何会出现这种情况?在某些情况下,这个行为有用吗?
- 如果另一个应用程序要捕获传入的请求,我不希望实例成功运行... 我该如何使端口独占?