c - 多个节点在 open62541 中读取来自客户端的单个请求

标签 c client client-server open62541

谁能告诉我在 open62541 中对服务器的单个请求中多节点读取 的语法。

我一直在做一个读取请求 UA_Client_readValueAttribute(client, UA_NODEID_STRING(1, "variable"), &value) 从 open62541 客户端到服务器。

最佳答案

您可以使用标准读取服务:

UA_Client_Service_read(UA_Client *client, const UA_ReadRequest request)

参见:https://github.com/open62541/open62541/blob/6c82b082c8a6c3b1faebc43387a1b0cb3eced051/include/ua_client.h#L203

例如:

UA_ReadRequest request;
UA_ReadRequest_init(&request);
UA_ReadValueId ids[2];
UA_ReadValueId_init(&ids[0]);
ids[0].attributeId = UA_ATTRIBUTEID_VALUE;
ids[0].nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_NAMESPACEARRAY);

UA_ReadValueId_init(&ids[1]);
ids[1].attributeId = UA_ATTRIBUTEID_VALUE;
ids[1].nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_STATUS);

// set here the nodes you want to read
request.nodesToRead = ids;
request.nodesToReadSize = 2;

UA_ReadResponse response = UA_Client_Service_read(client, request);

// do something with the response

十字邮寄:https://github.com/open62541/open62541/issues/1426

关于c - 多个节点在 open62541 中读取来自客户端的单个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47591339/

相关文章:

java - 我的 jar 中缺少标准消息正文阅读器提供程序

java - 如何自动关闭Java服务器?

c++ - 设备说它可用,但无法在 OpenCL 中创建上下文

c - POSIX 正则表达式(C 语言)匹配 uuid

php - Gearman PHP, sendComplete 没有效果

java - 在服务器上关闭 AtomicBoolean ching 太晚了(Java)

java - 文件管理客户端-服务器编程

c - 尝试从 matlab 调用 dll 函数导致崩溃

c - typedef 指针的大小

c# - 难以构建 XML-RPC.NET 客户端(与 Moodle 一起使用)