在C#中使用TcpClient的或一般连接到插座我怎么能先检查如果某个端口是免费在我的机器上?
更多信息: 这是我使用的代码:
TcpClient c;
//I want to check here if port is free.
c = new TcpClient(ip, port);
Run Code Online (Sandbox Code Playgroud) 我在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
Run Code Online (Sandbox Code Playgroud)
第一个要监听的是获取所有传入的请求.
这与我的所有期望完全相反.(我当时希望让EADDRINUSE告诉我港口很忙.)所以....