Php RabbitMQ:x27;直接';“rabbitmqctl列表”下的标题是什么意思?

Php RabbitMQ:x27;直接';“rabbitmqctl列表”下的标题是什么意思?,php,javascript,node.js,rabbitmq,amqp,Php,Javascript,Node.js,Rabbitmq,Amqp,如果我使用php的amqp类在rabbitmq中创建一个exchange,exchange类型设置为direct,并且指定的唯一选项是dustable,然后尝试在node.js中连接到该exchange,我会得到一个无法使用不同选项重新声明exchange错误,您可以查看您的选项是否不匹配 但是,据我所知,我使用的是完全相同的选项(键入direct和option durable)。所以我做了一个测试,在php中创建了一个名为php\u exchange的交换,在node.js中创建了一个名为no

如果我使用php的amqp类在rabbitmq中创建一个exchange,exchange类型设置为
direct
,并且指定的唯一选项是
dustable
,然后尝试在node.js中连接到该exchange,我会得到一个
无法使用不同选项重新声明exchange错误
,您可以查看您的选项是否不匹配

但是,据我所知,我使用的是完全相同的选项(键入direct和option durable)。所以我做了一个测试,在php中创建了一个名为
php\u exchange
的交换,在node.js中创建了一个名为
node\u exchange
的交换,并运行了
rabbitmqctl list\u exchanges
,得到了一些有趣的输出:

Listing exchanges ...
node_exchange   direct
amq.headers headers
amq.direct  direct
amq.match   headers
amq.fanout  fanout
    direct
php_exchange    direct
amq.topic   topic
...done.
在本文中,
direct
标题意味着什么(显然,它不是所有类型direct的交换,因为它将节点交换列为类型direct)?如何让node.js创建相同的amqp交换(以便在连接到持久交换时不会失败)

我正在使用PECL php amqp库和节点amqp库(https://github.com/ry/node-amqp)

谢谢

编辑:

以下是
rabbitmqctl list_交换名称类型auto_删除内部参数
的输出(为了简洁起见,删除了其他交换):


这不是一个标题-这是AMQP的一个稍微令人困惑的方面的结果,即有一个称为“”的直接交换。这是“默认”交换,所有队列自动绑定到该交换


关于PECL与node amqp的问题,我不使用这两种方法中的任何一种,但可能您的交换在类型或耐久性以外的其他方面有所不同。“rabbitmqctl list_exchanges name type auto_delete internal arguments”将向返回的表中添加更多列,以显示交换的所有详细信息。或者看看管理插件。

这不是标题-这是AMQP的一个稍微令人困惑的方面的结果,即有一个名为“”的直接交换。这是“默认”交换,所有队列自动绑定到该交换


关于PECL与node amqp的问题,我不使用这两种方法中的任何一种,但可能您的交换在类型或耐久性以外的其他方面有所不同。“rabbitmqctl list_exchanges name type auto_delete internal arguments”将向返回的表中添加更多列,以显示交换的所有详细信息。或者查看管理插件。

谢谢您回答我的问题。我编辑为原始版本,以包含您提到的命令。管理插件是否会指出其他可能的差异?谢谢。谢谢你回答我的问题。我编辑为原始版本,以包含您提到的命令。管理插件是否会指出其他可能的差异?谢谢
Listing exchanges ...
node_exchange   direct  false   false   []
php_exchange    direct  false   false   []
...done.