Curl可以连接到本地主机上的Iron服务器,但Scala间歇性地不能

Curl可以连接到本地主机上的Iron服务器,但Scala间歇性地不能,scala,rust,iron,Scala,Rust,Iron,在我的Rust应用程序中,我启动熨斗,如下所示: let host: &str = &format!("localhost:{}", port); info!("Server running at http://{}", host); Iron::new(Chain::new(router)).http(host).expect("Could not start Iron server"); 它答复说: INFO服务器正在运行http://localhost:3000 我可以

在我的Rust应用程序中,我启动熨斗,如下所示:

let host: &str = &format!("localhost:{}", port);
info!("Server running at http://{}", host);
Iron::new(Chain::new(router)).http(host).expect("Could not start Iron server");
它答复说:

INFO服务器正在运行http://localhost:3000
我可以卷曲它:

$curl”http://localhost:3000/v1/foo"
{“bar”:“baz”}
但是,在Scala中,我无法连接:

$scala
欢迎使用Scala 2.11.8(Java热点(TM)64位服务器虚拟机,Java 1.8.0(40))。
键入要计算的表达式。或者尝试:帮助。
scala>scala.io.Source.fromURL(“http://localhost:3000/v1/foo.mkString
java.net.ConnectException:连接被拒绝
位于java.net.PlainSocketImpl.socketConnect(本机方法)
spray客户端也无法连接:

spray.can.Http$connectionAttentiteFailedException:到127.0.0.1:3000的连接尝试失败
这两次尝试都来自同一IP,并且本地主机是正确的。Iron服务器对失败的连接请求不做任何记录

客户端和服务器中的
localhost
127.0.0.1
的不同组合不能解决问题。我误诊了这个。在Rust客户端中使用
127.0.0.1
可以解决问题

休息片刻后,代码开始工作。我不记得我是否重新启动了熨斗。然后我对它进行了几个小时的开发。在某个阶段,它又停止了工作。JVM和/或Iron服务器的重启无助于解决问题

这不是我的Rust应用程序特有的

我可以用hello world Iron应用程序示例重新创建问题

$git克隆https://github.com/iron/iron.git
$(cd熨斗和货物运行--示例hello)
然后

$curl”http://localhost:3000/"
你好,世界!
但是

$scala
scala>scala.io.Source.fromURL(“http://localhost:3000/.mkString
java.net.ConnectException:连接被拒绝
  • OSX 10.11.6
  • 货运0.13.0-每晚(9399229 2016-09-14)
  • 还针对每夜0.13.0次的货物进行了测试(19cfb67 2016-09-28)
根据“Iron将在默认情况下解析('localhost')到IPv6,而您的其他服务使用IPv4”

将Iron绑定到
127.0.0.1
,同时该错误未解决。

根据“Iron将默认解析('localhost')到IPv6,而您的其他服务使用IPv4”


将Iron绑定到
127.0.0.1
,同时该错误尚未解决。

在您的Scala应用程序中,如果您连接到127.0.0.1,而不是本地主机,这会起作用吗?(或者类似地,如果您在127.0.0.1上启动rust应用程序?)谢谢您的建议Erik。吃过午饭回来后,它开始工作了。我不知道到底出了什么问题,但我认为我犯了一个简单的错误。删除此问题…恢复了此问题。这是一个间歇性问题!猜测1:您正在Windows上运行,防火墙或防病毒软件正在阻止Java连接任何地方。感谢您在Scala应用程序中遇到的后续有趣问题,如果您连接到127.0.0.1,而不是localhost,这是否可行?(或者类似地,如果您在127.0.0.1上启动rust应用程序?)谢谢您的建议Erik。吃过午饭回来后,它开始工作了。我不知道到底出了什么问题,但我认为我犯了一个简单的错误。删除此问题…恢复了此问题。这是一个间歇性问题!猜测1:您正在Windows上运行,防火墙或防病毒软件正在阻止Java连接到任何地方。感谢您提出的后续有趣问题