【问题标题】:Dedicated network port in C#C# 中的专用网络端口
【发布时间】:2009-05-17 19:01:15
【问题描述】:

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

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

【问题讨论】:

    标签: c# networking port


    【解决方案1】:

    您无法确保这一点。任何程序都可以注册监听任何端口,如果没有其他进程使用它,操作系统将允许它。

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

    【讨论】:

      【解决方案2】:
      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

      【讨论】:

      • 别忘了找出它正在侦听的端口... ((IPEndPoint)server.LocalEndpoint).Port
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-19
        • 2022-01-08
        • 2011-04-07
        • 1970-01-01
        • 2018-01-23
        • 1970-01-01
        • 2014-11-11
        相关资源
        最近更新 更多