网络 - 绑定到本地主机

5

我有一个关于绑定和连接到localhost的一般性问题。我正在使用TCP客户端/服务器,在服务器端我进行以下操作:

bind(localhost, 9999);
listen();

这是在一个名为例如 host1 的Unix主机上完成的。

现在,客户端正在运行在一个单独的Windows框中,与同一网络相连。为了连接,我尝试通过hostname:porthostIp:port连接,但都没有成功。

这是因为绑定到本地主机对于其他进程来说不可见,不能被用于连接其它机器,一般用于在同一台机器上运行的客户端/服务器等应用程序吗?

1个回答

13

如果您绑定到本地主机(即127.0.0.1),则只能接受来自 本地主机 的连接,而不能通过网络接受连接。

如果您需要通过网络接受远程连接,应该将绑定地址设置为本地IP地址(如192.168.0.10)或所有接口(即0.0.0.0)之一。

这是因为127.0.0.1始终是本地回环地址,在网络上不会被路由转发。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接