我尝试上下搜索网络——要么他们将我指向 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# 中工作时,我有点不知所措,缺少什么以及这个错误的根源。任何帮助将不胜感激!