gpt4 book ai didi

asp.net - rabbitMQ.Client in .NET System.IO.IOException : connection. start 从未收到,可能是由于网络超时

转载 作者:行者123 更新时间:2023-12-03 15:14:30 25 4
gpt4 key购买 nike

我正在为向我提供以下信息的代理编写 amqp 1.0 客户端(在 .NET 中使用 rabbitMQ.Client):

  • amqps://brokerRemoteHostName:5671
  • 证书_openssl.p12
  • 证书密码为字符串“mypassword”
  • 队列名称

  • 我在应该可以工作的 Visual Studio 中开发了以下代码(基于网络上的长时间搜索):
    var cf = new ConnectionFactory();             
    cf.Uri = new Uri("amqps://brokerRemoteHostName:5671");
    cf.Ssl.Enabled = true;
    cf.Ssl.ServerName = "brokerRemoteHostName";
    cf.Ssl.CertPath = @"C:\Users\mahmoud\Documents\certificate_openssl.p12";
    cf.Ssl.CertPassphrase = "myPassword";
    var connection = cf.CreateConnection();

    但是,输出显示异常:
    RabbitMQ.Client.Exceptions.BrokerUnreachableException:
    None of the specified endpoints were reachable ---> System.IO.IOException:
    connection.start was never received

    可能是由于网络超时),如图所示。

    其中第 50 行对应于我们创建连接的行。

    感谢您对上述错误的友好帮助。

    最佳答案

    如果要连接到 docker 容器,则在创建容器时,除了 15672 端口之外,还需要添加 5672 端口。对于使用 ssl 的用户,端口将是 5671 而不是 5672。
    示例:docker run -d --hostname my-rabbit --name rabbitmq --net customnet -p customport:15672 -p 5672:5672 rabbitmq:3-management .
    您可以通过调用以下命令从客户端连接:ConnectionFactory factory = new ConnectionFactory() { HostName = "localhost" }; .
    如果更改了用户名和密码,请随时传递。

    关于asp.net - rabbitMQ.Client in .NET System.IO.IOException : connection. start 从未收到,可能是由于网络超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46800100/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com