node-opcua 中的客户端订阅有一个名为priority
. 它是一个数值字段。我无法理解订阅是否Priotity=1
会获得更高Priority=10
或更低的优先级。
源代码中的默认优先级是1
. 那么它是最低的,还是最高的?哪一个会获得偏好,1 或 10 或 100?
node-opcua 中的客户端订阅有一个名为priority
. 它是一个数值字段。我无法理解订阅是否Priotity=1
会获得更高Priority=10
或更低的优先级。
源代码中的默认优先级是1
. 那么它是最低的,还是最高的?哪一个会获得偏好,1 或 10 或 100?
这是规范的引述(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/