open62541 OPC UA 堆栈服务器端回调客户端断开连接

open62541 OPC UA stack server side callback on client disconnect

我正在使用 open62541 OPC UA 堆栈版本 1.0 构建服务器。到目前为止效果很好。

当客户端断开连接时,我需要在服务器端进行一些维护。当客户端与 OPC UA 服务器断开连接时,是否有可能执行回调?或者 "session closed" 或 "secure channel closed" 也可以提供帮助。

感谢支持。

编辑: ... 所以,我再次检查了访问控制 API 的文档,但我不清楚如何应用它来解决我的问题。如果我 运行 服务器

int main(void) {
    signal(SIGINT, stopHandler);
    signal(SIGTERM, stopHandler);
    UA_Server *server = UA_Server_new();
    UA_ServerConfig_setDefault(UA_Server_getConfig(server));
    UA_StatusCode retval = UA_Server_run(server, &running);
    UA_Server_delete(server);
    return retval == UA_STATUSCODE_GOOD ? EXIT_SUCCESS : EXIT_FAILURE;
}

我只有服务器指针,也许还有配置。从这里开始,当客户端 connects/disconnects 时如何通知服务器,我如何捕获此事件,或者我是否需要定期检查是否有使用定时回调的连接客户端?如果是如何?访问控制 API 从哪里进入游戏?

再次感谢

您可以使用访问控制插件 API 获取客户端连接和断开连接的时间。 (activateSession/closeSession)。

参见:

Access Control documentation

The default plugin as starting point