我正在编写一个程序 - 称之为A - 它将打开端口以便与不同的程序(例如Eclipse)通信 - 将其称为B.
所以每当我决定要打开一个新端口时,我会执行以下操作:
创建一个值为0的新TCP侦听器
_listener = new TcpListener((IPAddress.Parse("127.0.0.1"), 0)
所以它会在一个可用的端口上打开它。
获取已打开的端口号
int newp = ((IPEndPoint)_listener.LocalEndpoint).Port
发送程序B关于将立即打开哪个端口的信息 - 到现有端口
执行阻止调用以接受客户端
TcpClient client =_listener.AcceptTcpClient()
我可以看到(使用netstat -anb)端口正在“侦听”,但似乎没有建立连接,因为程序没有继续通信。
此外,如果我尝试获取流以便写入该端口 - 它会失败并抛出异常。
NetworkStream stream = _client.GetStream();
stream.Write(...);
非常感谢所有人!