我已经设置了 client.js
和 server.js
并完美运行。现在唯一的问题是我需要在一台机器上运行客户端,在另一台机器上运行服务器。
但是,通过使用以太网电缆连接,只能运行server.js
。即使双方能够 ping 通对方的 IP 地址,客户端也无法连接。
我可以研究任何解决方案吗?非常感谢!
请注意,这将在虚拟机 ubuntu 上运行。例如,PC 1 将在 virtualbox ubuntu 上运行 server.js
,PC 2 将在 virtualbox ubuntu 上运行 client.js
。但是,运行 server.js
后,client.js
不会启动/加载。
最佳答案
当您在同一台计算机上运行客户端和服务器时,您可以使用 localhost 主机名或 IP 127.0.0.1 通过称为环回接口(interface)的东西进行连接,该接口(interface)基本上是一个虚拟网卡,将所有内容路由回自身。
当它们位于不同的计算机上时,您需要使用真实的 IP 或主机名,因此您需要更新代码或配置以访问正确的 IP 或端口。
此外,防火墙还可以阻止外部连接的端口,这对于localhost
很少这样做。您还需要确保您的端口未被阻止。
当然,对于不包括以下内容的问题,只能给出非常笼统的答案:
- 错误消息
- 使用的 IP 地址和端口
- 使用的协议(protocol)
- 源代码
一般建议是:
- 检查您的 IP
- 检查您的防火墙
Ping 使用 ICMP 协议(protocol),因此可以与 ping 建立连接,但不能与 TCP 建立连接,我假设您正在使用 TCP(但同样,您没有指定这一点)。当然,您永远无法确定您正在 ping 哪台机器,只是您得到了答案,因此理论上您有可能正在 ping 自己。您需要获得正确的 IP。
要了解服务器上的 IP 地址,请参阅以下答案:
关于node.js - 在不同的机器上运行客户端和服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41594786/