【问题标题】:stomp+activemq+perl+cannot sysread(): EOFstomp+activemq+perl+cannot sysread(): EOF
【发布时间】:2015-07-27 09:45:57
【问题描述】:

我有一个简单的 stomp 脚本来连接到 activemq,当我运行脚本时出现以下错误 “无法 sysread(): EOF”

Perl 脚本代码:

#!/usr/bin/perl
use Net::STOMP::Client;
$stomp = Net::STOMP::Client->new(uri => "stomp://hostname:61616");
$peer = $stomp->peer();
printf("connected to broker %s (IP %s), port %d\n",
$peer->host(), $peer->addr(), $peer->port());
$stomp->connect();
printf("speaking STOMP %s with server %s\n",
$stomp->version(), $stomp->server() || "UNKNOWN");
printf("session %s started\n", $stomp->session());
$stomp->disconnect();
printf("session ended\n");

有人可以告诉我我做错了什么吗?我看到了一个类似的帖子,但后来我没有看到关于相同的回复。 问题在于 $stomp->connect();

【问题讨论】:

  • 你不是应该先连接然后检查对等详细信息吗?
  • 在您的脚本中,我注意到您的端口号 61616 是 TCP 端口,而不是 STOMP 端口。请尝试使用端口号 61613。要 100% 确定,请查看 /conf/activemq.xml 的 以获取要连接的正确端口号。

标签: perl activemq stomp


【解决方案1】:

调试会帮助你

use Net::STOMP::Client;
$stomp = Net::STOMP::Client->new(
                                uri => "stomp://hostname:61616",
                                debug => "connection api"
                                );

【讨论】:

  • 它仍然给我与下面提到的相同的输出::
  • 连接到代理主机名(IP hostip),端口 61616 无法 sysread(): EOF
  • 您确定:1 台 STOMP 服务器正在监听?
  • 您确定:1. STOMP 服务器正在监听吗?尝试 telnet 到这个主机 telnet> open hostname 61613 2. 你确定它是 STOMP,而不是 MQM?在这种情况下,您需要不同的模块 MQSeries
猜你喜欢
  • 2012-11-03
  • 2015-07-02
  • 2017-03-06
  • 2015-04-06
  • 2013-02-02
  • 2014-05-31
  • 2020-06-21
  • 2010-09-09
  • 2021-11-22
相关资源
最近更新 更多