我目前正在写一些POC,我需要从Mac上使用网络服务。我在我的PC上编写Web服务,现在我需要Mac才能将其用于调试目的。在我的家庭办公室工作时,解决PC机名称没有问题,但每当我回到办公室时,浏览器(Safari和Chrome)都无法看到PC。我所知道的唯一不同之处是我们通过代理访问互联网。除此之外,它是一个通过DHCP设置的漂亮的网络,就像我的家庭办公室一样。
情况: Mac设置为文件共享,可以通过SMB查看PC 当我添加" .local"时,Mac可以成功ping PC。到PC机器名称 Mac无法从任何浏览器的地址行看到PC。 PC设置为运行Bonjour打印服务 PC正在通过IIS Express运行Web服务 PC设置为通过...
支持所需的URLnetsh http add urlacl url=http://*:%HTTP_PORT%/ user=everyone
netsh http add urlacl url=http://localhost:%HTTP_PORT%/ user=everyone
netsh http add urlacl url=http://%COMPUTERNAME%:%HTTP_PORT%/ user=everyone
netsh http add urlacl url=http://%COMPUTERNAME%.local:%HTTP_PORT%/ user=everyone
(%HTTP_PORT%= 60011,IIS Express的默认值) 找到了上面的配置(Bonjour + urlacl)at this blog
我写了一个小的网络方法 - HelloWorld - 只返回" Hello World"用于测试目的并确保它在本地工作。尝试通过浏览器地址字段从Mac使用它作为" http://myPC.local:60011/MyWebService.asmx/HelloWorld"给我这个错误(Safari):
Network Error (dns_unresolved_hostname)
Your requested host "myPC.local" could not be resolved by DNS.
(" myPC"只是实际机器名称的替代品)
我目前没有想法。任何建议都将不胜感激。
干杯!
[编辑1] 不确定它是否是你们中任何一个Mac专家的线索,但是:如果我删除" .local"浏览器会有不同的反应。在" myPC.local"。当我将它留在Safari和Chrome中时会给出相同的确切错误消息(见上文),但是当我离开它时,Safari会返回此消息...
You are not connected to the Internet
... Chrome会返回此内容...
Oops!
Google Chrome could not find myPC:60011
[编辑2] 我注意到了另一个奇怪的现象:在输入上述URL并提供上述错误消息之后,如果我向后导航然后再转发,它似乎有效。但是,如果我点击“刷新'我收到相同的错误消息。我在Chrome中测试了这个小技巧(Safari赢了,让我在这种情况下向后/向前导航。
不知道该怎么做,真的!还有其他人愿意试一试吗?
答案 0 :(得分:1)
我有一个简单的提示;只有您的机器知道它的名称类似于myPC。因为它会查看您框中的hosts
(并链接到/etc/hostname
)文件。 。但是,你的另一台mac不会知道这个名字。
为什么不尝试用您当前的IP替换'myPC'?
在我的wifi上,我获得了192.168.0.101
,192.168.0.102
,...等IP地址;我用它们进行文件传输或其他任何操作。其他盒子不会知道我的盒子的名字,如'I-AM-X'等。你可能应该有一些IP地址。 (在Windows中查看ifconfig -a
ohh .. ipconfig /all
.. )。你最好用它代替“myPC”。
答案 1 :(得分:0)
我终于想通了。
我笨拙地假设正在运行的DNS服务器能够正确解析机器名称。如果我添加完全限定名称(“myPC。”),它可以正常工作。与Mac不同,当AD出现故障时,同一网络中的其他PC会自动回退到使用WINS进行名称解析。我的家庭网络是一个简单的工作组(就像Mac的“本地”命名空间),这就是为什么Mac可以成功使用我的家庭路由器的DNS服务。
当然,这仍然是一个问题,因为配置Mac始终与机器联系是指定的网络使得无法移动到该网络之外(无需重新配置)。
但是,再一次,我问的问题不仅是为了解决问题,而是为了获得一些知识,所以没关系。
感谢你给它一个拍摄sivatumma!