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)。
参见:
我正在使用 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)。
参见: