Я использую пример кода из ..\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
, который уже работает.
RabbitMQ работает в порту 5672
, и вы пытаетесь подключиться к порту 131072
, Учитывая максимальный порт, разрешенный TCP 65535
нет способа, которым это сработает.
Измените свой код для использования 5672
,
НОТА: команда RabbitMQ контролирует rabbitmq-users
список рассылки и только иногда отвечает на вопросы по StackOverflow.
Других решений пока нет …