10

构造 a 有三个重载TcpListener

在一个特定的端口上监听,但在所有可用的接口上。有一个重载可以做到这一点,但它被标记obsolete.

TcpListener在 .NET中的所有接口上侦听特定端口的新首选/非过时方法是什么?


为了帮助起见, anIPEndPoint是:

public IPEndPoint(
    IPAddress address,
    int port
)

这就是第三个重载。而 anIPAddress作为它的构造函数:

  • 一种byte[]
  • 一个Int64
  • 一个byte[]和一个Int64
4

1 回答 1

22

只需绑定到IPAddress.Any- 这通常是这样做的......不确定,但可能您也需要绑定到IPAddress.IPv6Any

这篇SO 帖子建议您明确绑定到每个 IP 地址 - 并且这篇SO 帖子有关于如何获取所有 IP 地址的代码......


来自MSDN

如果您不关心分配了哪个本地地址,请指定IPAddress.Anylocaladdr 参数,底层服务提供商将分配最合适的网络地址。


来自MSDN

IPAddress.Any字段

提供一个 IP 地址,指示服务器应在所有网络接口上侦听客户端活动。

于 2011-08-30T02:32:12.667 回答