我的计算机上安装了管理控制台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
可能是什么问题?
答案 0 :(得分:0)
显然问题在于IPv6。可能与我的环境有关。
在Debug上运行EasyNetQ
api时,使用了IPv6并且我收到错误。在Release上运行时,使用IPv4并使用套接字。
立即解决方案是使用
new ManagementClient("http://127.0.0.1", "guest", "guest", 15672);
虽然我仍然不知道为什么localhost
和IPv6不起作用。您可以看到异常详细信息使用IPv6 - [::1]
which stands for localhost IP in v6。