RabbitMQ {handshake_timeout, frame_header} - PullRequest
0 голосов
/ 14 мая 2018

Я получаю следующее в журнале rabbitMQ

Журнал MQ 2018-05-14 10: 40: 12.841 [info] <0.20724.9> принятие соединения AMQP <0.20724.9> (xxx.xxx.xxx.xxx: 57489 -> //xxx.xxx.xxx.xxx:5672) 2018-05-14 10: 40: 12.856 [info] <0,20724,9> соединение <0,20724,9> .xxx.xxx.xxx: 57489 -> xxx.xxx.xxx.xxx:5672): пользователь «Имя пользователя» прошел проверку подлинности и предоставил доступ к vhost '/' 2018-05-14 10: 40: 12.856 [info] <0.20724.9> закрытие AMQPсоединение <0.20724.9> (xxx.xxx.xxx.xxx:57489 -> xxx.xxx.xxx.xxx:5672, vhost: '/', пользователь: 'Username') 2018-05-14 10: 40: 14.728[info] <0.20741.9> принятие соединения AMQP <0.20741.9> (xxx.xxx.xxx.xxx:57491 -> xxx.xxx.xxx.xxx:5672) 2018-05-14 10: 40: 14.728 [информация] <0.20741.9> соединение <0.20741.9> (xxx.xxx.xxx.xxx:57491 -> xxx.xxx.xxx.xxx:5672): пользователь «Имя пользователя» прошел проверку подлинности и предоставил доступ к vhost '/' 2018-05-14 10: 40: 14.744 [info] <0.20741.9> закрытие соединения AMQP <0.20741.9> (xxx.xxx.xxx.xxx:57491 -> xxx.xxx.xxx.xxx:5672, vhost: '/', пользователь:' Имя пользователя ') 2018-05-14 10: 40: 14.884 [info] <0.20756.9> принятие соединения AMQP <0.20756.9> (xxx.xxx.xxx.xxx:57493 -> xxx.xxx.xxx.xxx:5672) 2018-05-14 10: 40: 14.884 [info] <0.20756.9> соединение <0.20756.9> (xxx.xxx.xxx.xxx:57493 -> xxx.xxx.xxx.xxx:5672): пользователь «Имя пользователя» аутентифицирован ипредоставлен доступ к vhost '/' 2018-05-14 10: 40: 14.900 [info] <0.20756.9> закрытие соединения AMQP <0.20756.9> (xxx.xxx.xxx.xxx:57493 -> xxx.xxx.xxx.xxx: 5672, vhost: '/', пользователь: 'Username') 2018-05-14 10: 40: 16.756 [info] <0.20771.9> принятие соединения AMQP <0.20771.9> (xxx.xxx.xxx.xxx: 57495 -> xxx.xxx.xxx.xxx:5672) 2018-05-14 10: 40: 16.928 [info] <0.20774.9> принятие соединения AMQP <0.20774.9> (xxx.xxx.xxx.xxx:57496 -> xxx.xxx.xxx.xxx:5672) 2018-05-14 10: 40: 36.350 [предупреждение] <0,20771,9> закрытие соединения AMQP <0,20771,9> (xxx.xxx.xxx.xxx:57495 -> xxx.xxx.xxx.xxx:5672): {handshake_timeout, frame_header} 2018-05-14 10: 40: 36.350 [предупреждение] <0,20774,9> закрытие соединения AMQP <0,20774,9> (xxx.xxx.xxx.xxx: 57496 -> xxx.xxx.xxx.xxx: 5672): {handshake_timeout, frame_header}

В моей конфигурации указано следующее:

[
{handshake_timeout, 0},
].

, а также пульс переменной среды со значением 0
мой код выглядит следующим образом

public static void Recieve()
{
    var User = figurationManager.AppSettings["RabbitMQUserName"];
    var Pass = ConfigurationManager.AppSettings["RabbitMQPass"];
    var Server = ConfigurationManager.AppSettings["Server"];
    var Port = Int32.Parse(ConfigurationManager.AppSettings["Port"]);

    ConnectionFactory factory = new ConnectionFactory();

    factory.UserName = User;
    factory.Password = Pass;
    factory.VirtualHost = "/";
    factory.HostName = Server;
    factory.Port = Port;

    IConnection conn = factory.CreateConnection();

    IModel channel = conn.CreateModel();
    channel.BasicQos(0, 1, false);
    channel.QueueDeclare(queue: "QueName",
                         durable: true,
                         exclusive: false,
                         autoDelete: false,
                         arguments: null);
    //channel.ExchangeDeclare("amq.direct", ExchangeType.Direct);
    channel.QueueBind("QueName", "amq.direct", "", null);
    bool sent = true;
    var consumer = new EventingBasicConsumer(channel);
    consumer.Received += (ch, ea) =>
    {
        var body = ea.Body;
        var message = Encoding.UTF8.GetString(body);

        sent = Send(message);

        if (sent)
        {
            channel.BasicAck(ea.DeliveryTag, true);
        }
        else
        {
            channel.BasicReject(ea.DeliveryTag, true);
        }

    };
    String consumerTag = channel.BasicConsume("QueName", false`enter code here`, consumer);
};

1 Ответ

0 голосов
/ 14 мая 2018

Команда RabbitMQ отслеживает список рассылки rabbitmq-users и только иногда отвечает на вопросы в StackOverflow.


Если вы установите handshake_timeout на 0, квитирование AMQP может быть успешным, так как оно сразу же истечет. Это то, что вы видите в журнале.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...