【发布时间】:2019-05-17 17:13:06
【问题描述】:
我有这个代码:
public class Rabbit
{
public IConnection GetConnection()
{
ConnectionFactory connectionFactory = new ConnectionFactory();
Uri uri = new Uri("amqp://login:password@1.2.3.4:5672/host");
connectionFactory.Uri = uri;
return connectionFactory.CreateConnection();
}
public void Send(string queue, string data)
{
using (IConnection connection = GetConnection())
{
using (IModel channel = connection.CreateModel())
{
channel.QueueDeclare(queue, false, false, false, null);
channel.BasicPublish(string.Empty, queue, null, Encoding.UTF8.GetBytes(data));
}
}
}
public string Receive(string queue)
{
using (IConnection connection = GetConnection())
{
using (IModel channelconsumer = connection.CreateModel())
{
//channelconsumer.QueueDeclare(queue, false, false, false, null);
BasicGetResult result = channelconsumer.BasicGet(queue, true);
if (result != null)
{
string data = Encoding.UTF8.GetString(result.Body);
Console.WriteLine(data);
return data;
} else
{
return null;
}
}
}
}
}
我使用它:
var rabbit = new Rabbit();
rabbit.Send("name.sample.example", json);
运行此代码时出现错误:
RabbitMQ.Client.Exceptions.BrokerUnreachableException:“没有一个指定的端点是可达的”
排队:
return connectionFactory.CreateConnection();
我已登录,密码 100% 正确。 如何解决?
【问题讨论】:
-
你确定 RabbitMQ 正在运行吗?
-
是的,它正在运行。我可以毫无问题地登录它