gpt4 book ai didi

java - 1 台本地主机上 2 台 Virtual Box 计算机之间的 TCP 连接

转载 作者:行者123 更新时间:2023-12-01 16:24:23 25 4
gpt4 key购买 nike

我使用 TCP 连接用 java 编写了一个客户端/服务器应用程序。为了让客户端运行,我需要向它提供服务器的 IP。它在一个 IP = localhost 的 Windows 上的两个控制台上运行良好,但在两个装有 linux 的 VBox 上运行不佳。我尝试用ifconfig检查VM的IP是什么但它只显示 127.0.0.1,这不起作用。我应该更改虚拟机的某些网络设置还是寻找其他 IP?当我尝试使用 IP = 127.0.0.1 运行客户端时出现的错误是“连接被拒绝”。我应该怎么办?

最佳答案

127.0.0.1 是本地主机或环回地址。它始终表示本地计算机(因此,本地主机)。因此,如果您有 VB1 和 VB2 virtualbox 系统,则 VB1 的 127.0.0.1 将指向 VB1,VB2 的 127.0.0.1 将指向 VB2。如果“ifconfig”仅显示 127.0.0.1,则您的网络接口(interface)未连接到 LAN(物理或虚拟)。

换句话说:如果您在同一台虚拟机(或物理机)上运行服务器和客户端,则 127.0.0.1 就可以了。如果它们是网络上的两个不同主机,则它们之间将无法通信。

您需要确保将它们的网络接口(interface)配置为共享子网的方法。我通常使用“桥接”,因此 VB 主机实际上是我的物理网络上它们自己的计算机。您可以在此处查看选项。

https://www.virtualbox.org/manual/ch06.html#network_nat

然后你需要在服务器主机上使用ifconfig来获取客户端连接的IP地址。

另外,不要忘记检查两台计算机上的防火墙设置。

关于java - 1 台本地主机上 2 台 Virtual Box 计算机之间的 TCP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62180291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com