我正在一个套接字项目上工作,现在我将为服务器端制作一个UDP侦听器。我看过一些例子,我不能理解这一点;为什么我们要绑定UDP套接字像"套接字"。绑定(新IPEndPoint ( IPAddress。任何, 3000));"?也就是说:在TCP套接字中,我们只绑定本地ip,但在UDP套接字中,我们绑定IPAddress.Any。我们为什么要这么做?
编辑:通配符和特定IP地址是什么?我们如何使用它们?
我发现了这个,我想我正在寻找它:)
通配符是一个特殊的本地IP地址。它通常表示"任何"和只能用于绑定操作。
该IP地址的值为0.0.0.0。如果你有两个网络适配器,一个IP地址为1.1.1.1,一个IP地址为2.2.2.2,然后,您可以创建侦听套接字并将其绑定到1.1.1.1,以便套接字不会绑定到2.2.2.2。你也可以创建一个监听Socket并将其绑定到2.2.2.2,这样它就不会绑定到1.1.1.1。如果你不关心并希望你的套接字绑定到所有的网卡,然后将其绑定到通配符地址。
另一个特殊值是127.0.0.1,表示只有客户端打开同一台计算机可以连接到您的服务器。
Link: InetSocketAddress中的通配符地址是什么意思?
可以将TCP和UDP套接字绑定到通配符地址(INADDR_ANY
或IN6ADDR_ANY_INIT
)或特定地址。没有理由将TCP套接字绑定到特定的IP地址,而将UDP套接字绑定到通配符地址。