0

我在 Windows 2008 R2 Standard 虚拟服务器上安装了一堆 WCF 服务。许多端点都绑定到本地主机,请参见下面的示例:


端点地址="net.tcp://localhost:8738/Services/Service"


这目前仅在单个本地 IP (192.168.20.10) 绑定到 NIC 时有效。

如果我添加另一个本地 IP 地址(192.168.20.11):

1) localhost 引用是否意味着服务端口在两个 IP 地址上都发布?

2)如果不是,操作系统如何决定哪个IP?

谢谢斯科特

4

2 回答 2

2

localhost指环回地址 IPv4: 127.0.0.1IPv6 ::1.

当服务绑定到环回地址时,它仅对该主机可用。一种用例是 Web 服务组件,这些组件仅由 HTTP 守护程序通过代理公开。将 IP 地址添加到接口不会对绑定到localhost.

当一项服务打算对网络可用时,绑定通常是*:portnumber. 这将侦听所有 IP 地址,因此向接口添加另一个 IP 将导致新 IP 地址上的服务也可用。

于 2012-04-04T09:38:03.010 回答
1

我发现使用类似的东西net.tcp://localhost:4512不会像预期的那样绑定到环回地址,而是会监听,0.0.0.0:4512从而接受所有 IP 地址上的连接。

于 2013-03-15T12:13:19.770 回答