client-server - OPC-UA 服务器重启和订阅

标签 client-server subscription opc opc-ua

一般情况下,会发生什么:如果客户端已在 OPC-UA 节点上进行订阅,并且该节点会运行一段时间。 OPC-UA 服务器以标准行为向客户端发布数据。然后,OPC-UA服务器因故重启,OPC-UA是否存储订阅者并在启动后恢复连接并继续发布数据?或者客户端是否需要感知到服务器出现故障并因此重新创建订阅?如果是这样,是否应该普遍使用轮询来实现更高的稳定性?

最佳答案

一般,不,服务器不存储订阅并在重启后恢复它们。

应该通知客户端服务器将要重启。但即使不是正常关闭,重新连接后客户端也应尝试恢复其 session ,这将失败,这意味着将尝试恢复或转移其订阅,此时它将知道重新创建订阅。 (此客户端行为在规范的第 4 部分中指定为连接状态机的一部分)。

也就是说,OPC UA 1.03 确实引入了持久订阅的概念,它应该能够保存状态并在重启后继续存在,但我不知道有任何服务器实现了这一权利现在。我还感觉到,预期目的是以非常慢的发布速度为可能只连接的客户端保持订阅有效。每天获取更新,而不是简单地保存状态并在重启后幸存下来,这本身就有些不必要。

关于client-server - OPC-UA 服务器重启和订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41891640/

相关文章:

database - 有没有人对 GUI 销售点系统有数据库、编程语言/框架建议?

Android IAB 产品仅适用于特定国家/地区?

android - 如何从产品详情中获取订阅的免费试用期?

woocommerce - 如何在续订订单管理员电子邮件中获取 WooCommerce 订阅父 ID?

simulation - 用于模拟值的免费 OPC 服务器

c# - 创建使用 OPC 的简单 C# 应用程序需要什么?

opc - "ns=2;s="在 OPC 节点路径中的意义是什么?

java - 如何在java中杀死名称服务器进程

c - 将 stdout 和 stderr 重定向到分布式 shell 程序的套接字

Python客户端和服务器聊天