3

node-opcua 中的客户端订阅有一个名为priority. 它是一个数值字段。我无法理解订阅是否Priotity=1会获得更高Priority=10或更低的优先级。

源代码中的默认优先级是1. 那么它是最低的,还是最高的?哪一个会获得偏好,1 或 10 或 100?

4

1 回答 1

3

这是规范的引述(v1.03 第 4 部分。表 86)

指示订阅的相对优先级。当多个 Subscription 需要发送 Notifications 时,Server 应该将 Publish 请求出列给优先级最高的 Subscription(数字越大,优先级越高)。对于具有相同优先级的订阅,服务器应以循环方式将发布请求出列。当订阅的保活期到期时,无论其优先级如何,都应优先考虑,以防止订阅到期。

不需要特殊优先级设置的客户端应将此值设置为零。

我对服务器如何在实践中实际支持优先级没有太多经验。只有在服务器有大量数据更改要同时排队时,它才应该发挥作用。在大多数情况下,您可以忽略该参数。

编辑:规范可从https://opcfoundation.org/developer-tools/specifications-unified-architecture获得(您只需注册到 OPC Foundation 网站即可下载它们)

编辑:1.04 的规范现在也可以在线获得,描述优先级参数的特定页面是https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.2/

于 2016-10-19T08:30:32.840 回答