0

我正在尝试在 JRuby 1.7.3 上使用 Thrift 客户端。错误信息总是

Could not connect to ::1:55674: Connection refused - Connection refused

我总是可以在 ruby​​-1.9.3 上成功连接。经过多次谷歌搜索,Thrift 客户端似乎遇到了 JRuby 问题,但它应该在 1.6.7 中得到修复

我应该如何解决这个问题?这是一个已知的问题?

4

1 回答 1

1

找到了!

我正在创建我的Thrift::ServerSocketusing ::1. MRI 客户端将使用此功能(无论 host 是否设置为localhost::1127.0.0.1. JRuby 客户端都不会,并且会抱怨连接被拒绝。

接下来,我正在创建我的Thrift::Clientusing ::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)
于 2013-02-25T15:53:19.700 回答