【发布时间】:2020-10-24 06:47:16
【问题描述】:
我尝试上下搜索网络 - 他们将我指向 RabbitMQ,这是不可能的,因为客户特别要求 ActiveMQ / Amazon MQ,它基本上是亚马逊云中的 ActiveMQ。其他结果建议使用不同的协议 (STOMP) - 我不能这样做,因为客户再次允许通过 AMQP 进行访问
所以我很茫然..你能帮我开始吗?我尝试使用 PHPamqplib,但在连接建立期间访问已经运行的 activeMQ 代理“Invalid frame type 65 in ....AbstractConnection.php:571”时出错。
<?php
namespace Test;
require_once __DIR__.'/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPSocketConnection;
use PhpAmqpLib\Message\AMQPMessage;
class Test {
private $host='192.168.3.66';
private $port=5672;
private $user='guest';
private $password='guest';
protected $connection;
protected $channel;
public function __construct() {
$this->connection=new AMQPSocketConnection($this->host, $this->port, $this->user,$this->password);
$this->channel=$this->connection->channel();
}
...
在执行构造函数期间,当我构建我的 Test 类的实例来发送消息时,错误已经发生在这里。在你问之前,我尝试了库提供的不同 AMQP 连接类型——错误总是一样的。老实说,当它使用 amqpnetlite 库在 C# 中工作时,我有点不知所措,缺少什么以及这个错误的根源。任何帮助将不胜感激!
【问题讨论】:
-
感谢您的回答,最终我们决定使用 c# 对其进行编码,以维护我们发送到的代理的开发人员提供的示例为基础。
标签: php activemq amqp php-amqplib