TcpListener:如何监听所有接口上的特定端口?

时间:2011-08-30 02:29:01

标签: .net sockets tcplistener socketserver

构建TcpListener有三个重载:

希望监听特定端口,但是所有可用接口。那里有 过载,但它被标记为obsolete

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


为了乐于助人,IPEndPoint是:

public IPEndPoint(
    IPAddress address,
    int port
)

这是第三次重载。并IPAddress作为构造函数:

  • a byte[]
  • Int64
  • a byte[]Int64

1 个答案:

答案 0 :(得分:20)

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

SO post表示您明确绑定到每个IP地址 - 此SO post包含有关如何获取所有IP地址的代码......


来自MSDN

  

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


来自MSDN

IPAddress.Any 字段

  

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