0

我如何确保我的计算机上的特定端口没有被用于我在 C# 中需要的服务以外的任何其他目的?

在我模拟局域网信使的程序中,我在尝试连接到远程主机时遇到连接被拒绝错误。因此我需要以某种方式确保该端口没有被用于任何其他目的。

4

3 回答 3

3

你不能确保这一点。任何程序都可以注册以侦听任何端口,如果没有其他进程正在使用它,操作系统将允许它。

您最好的选择是选择一个现在已知可被任何服务使用的端口,并将其用作您的传入端口。是一个众所周知的端口列表。

于 2009-05-17T19:04:29.267 回答
1
IPAddress localAddr = IPAddress.Parse("127.0.0.1");
server = new TcpListener(localAddr, 0);

这将为您提供本地机器上的第一个可用端口。

http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx

于 2009-05-17T19:14:20.727 回答
0

打开一个tcp-socket监听就可以了?这会阻止其他任何人做同样的事情。

拒绝连接听起来更像是防火墙问题。

于 2009-05-17T19:04:36.643 回答