如何连接远程RabbitMQ服务器

时间:2018-10-13 06:55:31

标签: c# rabbitmq

我要构建应用程序(Asp.net C#)以连接另一个国家的RabbitMQ服务器。

所以我的问题是如何连接该服务器。 我已经从NuGet软件包中安装RabbitMQ客户端。

是否需要在本地计算机上运行RabbitMQ服务?

需要在我的本地计算机上安装RabbitMQ Server吗?

从客户端我得到一些参数 用户名,密码,主机名,带私钥的证书。

我很好奇,哪些是从本地应用程序连接该服务器的基本步骤。

有人可以提供博客以供参考吗? 我已经尝试了不同的步骤,但无法连接。

            string vCertSubjectName = "CN=DevRepo, OU=IT, O=OLX, L=KTM, S=Surrey, C=UK";
            ConnectionFactory factory = new ConnectionFactory();
            factory.AuthMechanisms = new AuthMechanismFactory[] { new ExternalMechanismFactory() };
            factory.HostName = "195.168.0.15";
            factory.Port = 5673;
            factory.Ssl.Certs = getCertificate(vCertSubjectName);
            factory.Ssl.ServerName = System.Net.Dns.GetHostName();
            factory.Ssl.Enabled = true;
            factory.Ssl.Version = SslProtocols.Tls12;
            IConnection connection = factory.CreateConnection();

可能由于网络超时而导致未收到诸如connection.start之类的错误。“

1 个答案:

答案 0 :(得分:0)

关于如何编写代码以在其站点上与RabbitMQ之间收发消息的示例非常简单。

获取这些示例;在您的本地网络上设置RabbitMQ服务器;构建示例并验证其是否有效。一旦知道如何向/从已知实例发送/接收,就可以在发送程序中更改连接属性,以将其指向其他位置的RabbitMQ实例。

我还建议您对外部RabbitMQ服务器的IP地址执行ping操作,以了解实际的传输时间。如果网络超时是一个有效的问题,那应该可以使您有所了解。

PS。您将需要RabbitMQ服务器的有效登录名和密码,然后才能接受来自您的任何消息。当您在运行RabbitMQ的同一台物理计算机上构建上述示例程序时,可以使用guest / guest的默认登录名和密码。由于RabbitMQ的默认安全配置,默认情况下,这将无法在另一台计算机上运行。