静态 IP 对 Java 套接字编程很重要吗?

Is static IP important for Java socket programming?

我对套接字编程的 127.0.0.1 和端口号感到困惑。 如果我有一个域名,那么静态 ip 地址就不重要了。任何人都请为此提供帮助。

如果需要,您可以直接收听静态 IP-number,但通常在生产中使用真正的 Web 服务器,如 Nginx 或 Apache,因为它们更快、更安全,并且处理headers 和 HTTP 标准的其他部分为您服务。然后它们依次连接到您的插座。

127.0.0.1是一个特殊的IP号,也称为localhost,用于连接同一台机器,其他电脑无法访问。所以如果你收听 127.0.0.1 你需要在同一台计算机上使用 Nginx 或类似的工具来将流量转发到你的套接字,否则其他计算机将无法访问它。

套接字编程不要求您只使用静态 IP 地址。您可以使用 localhost127.0.0.1 编写代码。如果您知道服务器的域名,您也可以使用它。您也可以使用大多数互联网用户获得的动态 IP。

每台连接到网络的计算机都分配有 IP 地址,无论是静态地址还是动态地址。服务器套接字必须绑定到特定端口上的此 IP 地址才能接受客户端。客户端连接到服务器的当前 IP 和端口。

域名只是客户端使用人类可读的静态名称确定服务器当前 IP 地址的一种方式。如果服务器的IP地址发生变化,必须重新绑定服务器socket,更新域名的映射。

127.0.0.1,又名 "localhost",是指本地计算机的保留 IP 地址。如果服务器套接字绑定到这个 IP 地址,它只能接受来自同一台机器的客户端。