0

RabbitMQ的机器上安装了管理控制台。Web 界面在 http://localhost:15672上工作

当我尝试通过代码访问 Rabbit 时,出现异常:

var mcGuest = new ManagementClient("http://localhost", "guest", "guest", 15672);
var vhost = mcGuest.GetVhost("/");

{“无法建立连接,因为目标机器主动拒绝它 [::1]:15672”}

(管理客户端的源代码位于https://github.com/EasyNetQ/EasyNetQ.Management.Client

我以管理员身份运行 Visual Studio,运行时得到以下输出netstat -anb

Line 35:   TCP    0.0.0.0:5672           0.0.0.0:0              LISTENING
Line 37:   TCP    0.0.0.0:15672          0.0.0.0:0              LISTENING
Line 39:   TCP    0.0.0.0:25672          0.0.0.0:0              LISTENING
Line 200:   TCP    127.0.0.1:15672        127.0.0.1:18577        ESTABLISHED
Line 212:   TCP    127.0.0.1:18577        127.0.0.1:15672        ESTABLISHED
Line 484:   TCP    [::]:5672              [::]:0                 LISTENING

可能是什么问题?

4

1 回答 1

0

显然问题出在 IPv6 上。可能与我的环境有关。

在 Debug 上运行EasyNetQapi 时,使用了 IPv6,我得到了错误。在 Release 上运行时,使用 IPv4 并且套接字工作。

直接的解决方案是使用

new ManagementClient("http://127.0.0.1", "guest", "guest", 15672);

虽然我仍然不知道为什么localhost而且 IPv6 不起作用。您可以看到 IPv6 被异常详细信息使用 -[::1]它代表 v6 中的 localhost IP

于 2017-10-30T09:44:12.970 回答