使用 java 中的数据报套接字,我应该使用哪个 IP 地址连接家中的 2 台计算机?

Which ip address should I use to connect 2 computers in my home using datagram sockets in java?

我正在尝试使用 java 中的 DatagramSockets(甚至套接字)连接我家中的 2 台计算机。我到底应该怎么做?我应该使用哪个 IP 地址来连接它们?

如果您的计算机正在使用 DHCP,那么您将无法决定使用哪个 IP 地址。您的机器将被分配一些动态 ip 地址。要查看在 Linux 框上使用 ifconfig 并在 win 机器上使用 ipconfig。一旦你有了他们的 IP 地址,你就可以使用它们来连接你的机器。您的机器有动态 ip 的可能性很高。

假设您是 windows 用户:

要获取您的 LAN IP 地址,请打开命令提示符并键入 ipconfig

一堆东西会出现,你正在寻找说 IPv4 address.....: 192.168.#.#

但是应该注意的是,这是一个非常 "dynamic" 的 IP 地址,可以在您与路由器断开连接并重新连接时更改。

我建议您将 ip 设为静态(在 google 上查找,有很多教程)或改用您的计算机主机名。要获取您的主机名,您只需在命令提示符中键入 hostname

在您的代码中,您可以通过在您的客户端代码中执行此操作来获取您的 IP 地址:

    String ip = Inet4Address.getByName("<your servers hostname>").getHostAddress();

我希望这会有所帮助,尽管像这样的问题属于 Super User,因为它们实际上与编码没有太大关系。