首页 文章

UDP套接字绑定任何IP? (通配符 - 特殊)

提问于
浏览
1

我'm working on a socket project and now I'将为服务器端创建UDP侦听器 . 我看了一些例子,我无法理解这一点;为什么我们必须绑定UDP套接字,如“socket.Bind(new IPEndPoint( IPAddress.Any ,3000));”?即:在TCP套接字中,我们仅绑定本地ip,但在UDP套接字中,我们绑定IPAddress.Any . 为什么我们这样做?

编辑:什么是通配符和特定的IP地址?我们怎样才能使用它们?

2 回答

  • 1

    我找到了这个,我想我一直在找:)

    通配符是一个特殊的本地IP地址 . 它通常表示“任意”,只能用于绑定操作 . 该IP地址的值为0.0.0.0 . 如果您有两个网络适配器,一个IP地址为1.1.1.1,另一个IP地址为2.2.2.2,那么您可以创建一个侦听套接字并将其绑定到1.1.1.1,以便套接字不会绑定到2.2.2.2 . 您还可以创建一个侦听套接字并将其绑定到2.2.2.2,以便它不会绑定到1.1.1.1 . 如果您不关心并希望套接字绑定到所有网卡,则将其绑定到通配符地址 . 另一个特殊值是127.0.0.1,这意味着只有同一台计算机上的客户端才能连接到您的服务器 .

    链接:What does wildcard address in InetSocketAddress mean?

  • 0

    您可以将TCP和UDP套接字绑定到通配符地址( INADDR_ANYIN6ADDR_ANY_INIT )或特定地址 . 在将UDP套接字绑定到通配符地址时,通常没有理由将TCP套接字绑定到特定的IP地址 .

相关问题