2014-06-05 100 views
1

我有一個關於綁定和連接到localhost的一般性問題。我使用的是TCP客戶端/服務器和服務器端我做某事的形式爲:網絡 - 綁定到本地主機

bind(localhost, 9999); 
listen(); 

這是一個UNIX主機上有一個名字,例如:完成host1

現在,客戶端運行在同一個網絡上的單獨Windows窗口中。爲了連接,我嘗試通過hostname:porthostIp:port連接,但沒有一個成功。

這是因爲綁定到本地主機在整個網絡上是不可見的,以便其他進程連接並用於例如客戶端/服務器在同一臺機器上運行?

回答

4

如果您綁定到本地主機(即127.0.0.1),則只能接受來自本地主機的連接,而不能通過網絡。

如果您需要通過網絡接受遠程連接,您應該綁定到本地IP地址(例如192.168.0.10)或所有接口(即0.0.0.0)。

這是因爲127.0.0.1始終是本地環回地址,並且從未在網絡上路由。

相關問題