我在Windows 2008 R2 Standard虚拟服务器上安装了一堆WCF服务。许多端点都绑定到本地主机,请参见下面的示例:
endpoint address =“net.tcp:// localhost:8738 / Services / Service”
目前只能将单个本地IP(192.168.20.10)绑定到NIC。
如果我添加另一个本地IP地址(192.168.20.11):
1)localhost引用是否意味着服务端口在两个IP地址上发布?
2)如果不是OS如何决定哪个IP?
谢谢 斯科特
答案 0 :(得分:2)
localhost
是指loopback address IPv4: 127.0.0.1
或IPv6 ::1
。
当服务绑定到环回地址时,它仅对该主机可用。一个用例是Web服务组件,它们仅由HTTP守护程序通过代理公开。向接口添加IP地址对绑定到localhost
的服务没有区别。
如果要使服务可用于网络,则绑定通常为*:portnumber
。这将侦听所有IP地址,因此向接口添加另一个IP也将导致该服务在新IP地址上可用。
答案 1 :(得分:1)
我发现使用像net.tcp://localhost:4512
这样的东西不会按预期绑定到回送地址,而是会监听0.0.0.0:4512
,从而接受所有IP地址的连接。