2017-01-11 183 views
1

我有client.jsserver.js,它们已经被设置并且工作正常。现在唯一的问题是,我需要在一台机器上运行客户机,在另一台机器上运行服务器。在不同的机器上运行客户端和服务器

然而,通过使用以太网电缆连接的,仅server.js可以运行。尽管两者都能ping通对方的IP地址,但客户端无法连接。

我可以看看的任何解决方案?非常感激!

请注意,这将在虚拟盒ubuntu上运行。例如,PC 1将在virtualbox ubuntu上运行server.js,PC 2将在虚拟框ubuntu上运行client.js。但是,在运行server.js之后,client.js未启动/加载。

+0

是你的IP地址是否正确? – Roljhon

+0

是的,我已经测试过。我们可以互相ping通!请协助@Roljhon – Marcus

回答

1

当你在同一台机器上运行客户端和服务器时,你可以使用localhost主机名或IP地址127.0.0.1通过称为回送接口的东西进行连接,该回送接口基本上是一个虚拟网卡,将所有东西都路由回自己。

当它们位于不同的机器上时,您需要使用真实的IP或主机名,以便您需要更新代码或配置以访问正确的IP或端口。

此外,端口可以被防火墙阻止来自外部连接,这很少为localhost完成。你还需要确保你的端口没有被阻塞。

当然只有非常普遍的答案可以给不包括一个问题:

  • 错误消息
  • IP地址和端口使用
  • 协议使用
  • 源代码

一般建议是:

  1. 检查您的IP地址
  2. 检查你的防火墙

Ping使用的ICMP协议,这样就可以有平,但我假设你正在使用的连接不使用TCP(但同样,你没没有具体说明)。当然,你永远不知道你在试探哪一台机器,只有你有一个答案,所以在理论上你可能会发现你自己。你需要得到正确的IP。

要知道你的服务器上的IP地址,看到这些问题的答案:

+0

请问这是否正常工作,因为我正在使用虚拟箱来运行服务器和客户端,但是这两者都在不同的PC上运行。例如,pc 1将在虚拟机的ubuntu上运行server.js,pc 2将在虚拟机的ubuntu上运行client.js。 – Marcus

+0

@Marcus这是否解决了您的问题? – Roljhon

+0

我发现我工作的端口是开放的,没有被阻塞。我还确保防火墙允许来自IP地址的端口。但是,这个问题仍然是一样的,PC 2无法连接到PC 1. PC 1正在运行server.js,PC2正在运行client.js。 Client.js不能与server.js一起运行/运行 – Marcus

相关问题