UA_Client_getEndpoints
函数用于获取指定服务器的终端描述信息(Endpoint Description)。下面是一个简单示例,展示了如何使用该函数:
#include <open62541/client_config_default.h>
int main() {
UA_Client *client = UA_Client_new();
UA_StatusCode status = UA_Client_connect(client, "opc.tcp://localhost:4840");
if (status == UA_STATUSCODE_GOOD) {
size_t endpointsSize;
UA_EndpointDescription *endpoints;
// 获取终端描述信息
status = UA_Client_getEndpoints(client, "opc.tcp://localhost:4840", &endpointsSize, &endpoints);
if (status == UA_STATUSCODE_GOOD) {
// 对获取到的终端描述信息进行处理
for (size_t i = 0; i < endpointsSize; ++i) {
// 处理每个终端描述信息
// ...
}
// 释放资源
UA_Array_delete(endpoints, endpointsSize, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]);
}
}
// 断开连接并清理资源
UA_Client_disconnect(client);
UA_Client_delete(client);
return 0;
}
在此示例中,我们首先创建了一个 UA_Client
客户端实例,并使用 UA_Client_connect
函数连接到 OPC-UA 服务器。然后,我们调用 UA_Client_getEndpoints
函数来获取服务器的终端描述信息。在获得这些描述信息后,您可以对其进行进一步处理。最后,我们通过调用 UA_Client_disconnect
和 UA_Client_delete
断开与服务器的连接并释放资源。
请注意,此示例仅展示了 UA_Client_getEndpoints
函数的基本用法,并且假定您已经正确设置了 OPC-UA 客户端库。具体使用方法可能会因库版本和应用场景而有所不同,建议参考相应的文档和示例代码进行深入学习和开发。
内容由零声教学AI助手提供,问题来源于学员提问