Java 安卓;“主机未知”;错误

Java 安卓;“主机未知”;错误,java,android,eclipse,rest,windows-7,Java,Android,Eclipse,Rest,Windows 7,我从Android上得到一个错误,“主机是未知服务器:80”。我正在尝试从虚拟机上的Android Emulator访问服务器上的WCF Rest服务。是否支持此方案?顺便说一句,我可以访问该服务的帮助页面,因此我知道该服务正在工作。我可以从虚拟机上访问它 感谢您的帮助。我的开发环境是64位Windows 7,使用最新的Eclipse版本。这些服务位于Win 2008 R2计算机上。我猜您的主机名配置不正确 根据错误消息,看起来您提供了“:80”作为主机名或IP地址。如果平台认为该字符串应该是D

我从Android上得到一个错误,“主机是未知服务器:80”。我正在尝试从虚拟机上的Android Emulator访问服务器上的WCF Rest服务。是否支持此方案?顺便说一句,我可以访问该服务的帮助页面,因此我知道该服务正在工作。我可以从虚拟机上访问它


感谢您的帮助。我的开发环境是64位Windows 7,使用最新的Eclipse版本。这些服务位于Win 2008 R2计算机上。

我猜您的主机名配置不正确

根据错误消息,看起来您提供了“:80”作为主机名或IP地址。如果平台认为该字符串应该是DNS名称并尝试进行DNS查找,那么查找将失败,从而导致某种“未知主机”诊断

如果这就是问题所在,那么有几个观察结果

  • 如果您试图在静态配置文件(或其他文件)中引用“此设备”,则可以使用其主机名或IP地址(如果您知道),或环回接口的IP地址(很可能是“127.0.0.1”)。空字符串可能不起作用

  • 端口号(例如“80”)不应包含在主机名/IP地址中。。。除非在执行主机字符串解析之前对其进行解析


此错误的潜在原因之一是忘记包含internet权限或未将其放在正确的位置。确保manifest.xml中的应用程序标记之外包含以下内容:

<uses-permission android:name="android.permission.INTERNET"/>


我不得不使用,因为仿真器使用本地主机IP。

任何与“主机未知”相关的错误都可能与DNS相关。您是否使用主机名或IP地址连接到服务?你能从Android仿真器本身获取该服务的帮助吗?问:你到底有多少台主机?您已经有了Win7开发PC和Win2008服务器。还有你的Android模拟器。模拟器是直接在你的Win7 PC上运行,还是混合了其他虚拟机?Q:你能在你的Android模拟器的web浏览器中看到你的Win2008服务器吗(这相当于“Android模拟器可以ping”Windows服务器)?Q:如果你将WCF端点地址设置为服务器的IP地址,事情会正常吗(而不是服务器名)?@Ariel我使用的是主机名;我会仔细检查是否可以从模拟器访问它。这是个好主意。“名称解析”(例如DNS)是最有可能的罪魁祸首。这就是为什么我问OP是否可以浏览到他的服务器主机(或“ping”它)。但如果他在VM上运行(除了Android模拟器之外的VM),那么网络也可能是一个问题。IMHO…@palsm4-我假设错误消息中的大线索不是红鲱鱼。@palsm4我实际上没有提供:80;它推断了。我只是把它称为http:///myservicevirtualdirectory 我也会通过IP试试。@StephenC我搞错了;服务器名在那里,但在我的帖子中我做了一个错误是的,所以服务器部分被剥离了。我确实设置了该权限。我将再次检查它是否在应用程序标记之外……这是我的文件顺序:看起来不错,我认为权限不是问题的原因。