服务器发现 QML 类型
提供有关可用服务器信息。更多信息...
导入语句 | import QtOpcUa |
从 | QtOpcUa 5.13 |
属性
- connection : Connection
- count : int
- discoveryUrl : string
- status : Status
方法
- ApplicationDescription at(index)
详细说明
允许获取和访问已知服务器信息。
QtOpcUa.Connection { id: connection backend: availableBackends[0] defaultConnection: true } QtOpcUa.ServerDiscovery { discoveryUrl: "opc.tcp://127.0.0.1:43344" onServersChanged: { if (status.isGood) { if (status.status == QtOpcUa.Status.GoodCompletesAsynchronusly) return; // wait until finished if (count > 0) { // choose right server endpointDiscovery.serverUrl = at(0).discoveryUrls[0]; console.log("Using server URL:", endpointDiscovery.serverUrl); } else { // no servers retrieved } } else { // Fetching servers failed console.log("Error fetching server:", servers.status.status); } } } QtOpcUa.EndpointDiscovery { id: endpointDiscovery onEndpointsChanged: { if (status.isGood) { if (status.status == QtOpcUa.Status.GoodCompletesAsynchronusly) return; // wait until finished if (count > 0) { // choose right endpoint console.log("Using endpoint", at(0).endpointUrl, at(0).securityPolicy); connection.connectToEndpoint(at(0)); } else { // no endpoints retrieved } } else { // Fetching endpoints failed console.log("Error fetching endpoints:", status.status); } } }
属性说明
connection : Connection |
discoveryUrl : string |
从获取服务器列表的 URL。每次更改 URL 时,都会启动对该给定服务器的请求。
在开始请求时,可用服务器的列表会被清除,并设置状态为 Status.GoodCompletesAsynchronously。请求完成时,status 会发生变化。在访问服务器列表之前,请确保已检查 status。
onServersChanged: { if (status.isGood) { if (status.status == QtOpcUa.Status.GoodCompletesAsynchronusly) return; // wait until finished if (count > 0) { var serverUrl = at(0).serverUrl(); console.log(serverUrl); } } else { // handle error } }
另请参阅ApplicationDescription,status,at,count 和 Status。
status : Status |
此元素当前的状态。如果在服务器检索成功,状态应该是 Status.Good
。
if (status.isGood) { // Choose endpoint to connect to } else { // handle error }
另请参阅Status。
方法说明
ApplicationDescription at(index) |
© 2024 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。提供的文档受GNU自由文档许可版本1.3的条款约束,由自由软件基金会发布。Qt及其相应标志是The Qt Company Ltd.在芬兰和/或世界其他国家的注册商标。所有其他商标均为各自所有者的财产。