2017-01-11 228 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

相關問題