首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何排除打开套接字失败的故障- amqp / rabbitmq-c

如何排除打开套接字失败的故障- amqp / rabbitmq-c
EN

Stack Overflow用户
提问于 2015-07-30 04:36:25
回答 1查看 2.4K关注 0票数 1

我正在尝试Hello World,AMQP的rabbitmq-c实现。

我从rabbitmq-c源代码附带的示例中采用了一个小脚本。下面是一段代码:

代码语言:javascript
复制
  socket = amqp_tcp_socket_new(conn);
  if (!socket) {
    die("creating TCP socket");
  }

  status = amqp_socket_open(socket, hostname, port);
  if (status) {
        die(amqp_error_string2(status));
  }
  printf ("Error opening socket: %s\n",strerror(errno));

如果我在与rabbitmq服务器进程相同的主机上运行此脚本(即,hostnamelocalhost),则该脚本将连接并发送一条消息,该消息由侦听器接收。如果我在不同的机器上运行相同的程序,并提供运行Rabbit的机器的主机名,那么当它试图用-9打开套接字时,它就会死掉,这只是“发生了套接字错误”。"errno“只是当我试图打开一个非阻塞套接字时所期望的EINPROGRESS。(我看到的错误与程序成功时的错误相同)。

失败时,rabbitmq服务器日志中不会显示任何内容。

如果有人能告诉我这里到底出了什么问题,我会很高兴,但我真的需要一根钓鱼杆。我不知道如何从这里的系统中获得我需要的信息,甚至不知道从哪里开始。我以前从来没有真正做过unix I/O。有没有人能给出一些关于调试下一步的建议?

EN

回答 1

Stack Overflow用户

发布于 2015-07-30 06:25:14

关于下一步要找什么,我真的不能提供任何直接的建议。但从您的描述来看,托管rabbitmq的机器似乎不允许使用正确的TCP/IP端口进行通信。

几个月前,当我在RedHat Linux上安装RabbitMQ时,我遇到了这个问题。我必须在防火墙和selinux安全设置中配置各种安全设置,以允许正确的端口

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31710595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档