.NET服务System.Net.Sockets.SocketException:'未知此类主机'

时间:2018-12-30 22:40:50

标签: c# .net azure .net-services

我在运行Windows Server的Azure虚拟机上部署了.NET Windows服务,该服务具有打开的端口,允许我连接到该端口,该服务就像使用套接字的服务器。问题是,当我尝试从PC连接到该托管服务器时,它无法正常工作,并且出现以下异常:System.Net.Sockets.SocketException: 'No such host is known'。端口已打开,并且在我的PC上可见。有人可以告诉我为什么我得到这个例外吗?如果我在本地运行,一切正常。

1 个答案:

答案 0 :(得分:1)

该异常似乎是DNS问题。我对C#不熟悉,从网络上来说,您可以检查一下以下内容:

  1. Windows服务正在运行,并且端口正在Azure VM上监听。

  2. 该端口允许来自PC的出站流量和Azure VM上的入站流量。检查PC和Azure VM之间的VM防火墙设置。另外,您可以按照this检查NSG设置。您可以在PC CMD上使用telnet vmpublicIP port来验证网络连接。

  3. 如果您通过其DNS名称连接主机,请确认您的PC可以解析托管服务器的地址。您可以使用NSlookupDIG进行验证。如果是DNS问题,您还可以在hosts文件中添加一行(位于Windows上的%WINDIR%\system32\drivers\etc中),以将托管服务器的IP映射到名称。

希望这会有所帮助。