我正在尝试在 JRuby 1.7.3 上使用 Thrift 客户端。错误信息总是
Could not connect to ::1:55674: Connection refused - Connection refused
我总是可以在 ruby-1.9.3 上成功连接。经过多次谷歌搜索,Thrift 客户端似乎遇到了 JRuby 问题,但它应该在 1.6.7 中得到修复。
我应该如何解决这个问题?这是一个已知的问题?
我正在尝试在 JRuby 1.7.3 上使用 Thrift 客户端。错误信息总是
Could not connect to ::1:55674: Connection refused - Connection refused
我总是可以在 ruby-1.9.3 上成功连接。经过多次谷歌搜索,Thrift 客户端似乎遇到了 JRuby 问题,但它应该在 1.6.7 中得到修复。
我应该如何解决这个问题?这是一个已知的问题?
找到了!
我正在创建我的Thrift::ServerSocket
using ::1
. MRI 客户端将使用此功能(无论 host 是否设置为localhost
、::1
或127.0.0.1
. JRuby 客户端都不会,并且会抱怨连接被拒绝。
接下来,我正在创建我的Thrift::Client
using ::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)