RabbitMQ закрывает сокет во время вызова amqp_login - PullRequest
0 голосов
/ 05 июля 2018

Я использую пример кода из ..\rabbitmq-c\examples для создания соединения с моим http://localhost:15672. Из следующего блока кода я получаю: Logging in: socket is closed вывод

  amqp_socket_t *socket = NULL;
  amqp_connection_state_t conn;

  hostname = "localhost";
  port = 131072;  // 15672 // 131072
  username = "guest";
  password = "guest";
  exchange = "testExchange";
  bindingKey = "testMessage";
  queueName = "testQueue";
  routingKey = "testMessage";
  messageBody = "testMessageBody";

  conn = amqp_new_connection();

  socket = amqp_tcp_socket_new(conn);
  if (!socket)
  {
    die("Creating TCP socket ERROR");
  }

  status = amqp_socket_open(socket, hostname, port);
  if (!status)
  {
    die("Opening TCP socket ERROR");
  }

  die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN,
    "guest", "guest"),
    "Logging in");
  amqp_channel_open(conn, 1);
  die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel");

rabbitmq-c скомпилировано с VS2015, и у меня есть rabbitmq-server 3.7.6, который уже запущен.

1 Ответ

0 голосов
/ 07 июля 2018

RabbitMQ работает на порту 5672, и вы пытаетесь подключиться к порту 131072. Учитывая, что максимальный порт, разрешенный TCP, равен 65535, это не сработает.

Измените код для использования 5672.


ПРИМЕЧАНИЕ: команда RabbitMQ контролирует список рассылки rabbitmq-users и только иногда отвечает на вопросы по StackOverflow.

...