我正在尝试在JRuby 1.7.3上使用Thrift客户端。错误消息始终为
Could not connect to ::1:55674: Connection refused - Connection refused
我总能在ruby-1.9.3上成功连接。经过大量的谷歌搜索后,似乎Thrift客户端遇到了JRuby的问题,但它应该是fixed in 1.6.7。
我该如何解决这个问题?这是一个已知的问题吗?
答案 0 :(得分:1)
发现它!
我正在使用Thrift::ServerSocket
创建::1
。 MRI客户端将使用此功能(如果主机设置为localhost
,::1
或127.0.0.1
,则无关紧要.JRuby客户端不会,并会抱怨拒绝连接。
接下来,我使用Thrift::Client
创建了::1
。同样,JRuby不喜欢它。
将所有内容更改为localhost
修复它。我真的不明白发生了什么,但java显然正在使用IPv6。
>lsof -i :56990
COMMAND PID USER FD TYPE SIZE/OFF NODE NAME
java 4441 codex 31u IPv6 0t0 TCP localhost:56990 (LISTEN)
java 4441 codex 36u IPv6 0t0 TCP localhost:56990->localhost:50439 (ESTABLISHED)
java 4875 codex 31u IPv6 0t0 TCP localhost:50439->localhost:56990 (ESTABLISHED)