我有一个通过 QtOpcUa 交换数据的 Qt 应用程序。我没有任何轮询或浏览或其他操作,但有一堆订阅。每隔几分钟,我就会BadTimeout
从服务器收到一条关闭连接的错误。
仅当我启用了任何订阅并且连接了多个 PLC 时才会发生这种情况。但是什么会导致这样的超时呢?
我在这里读到:
操作超时。
订阅如何“超时”?这是服务器自己完成的!这是服务器的问题还是我可以在客户端做任何事情?
我收到的消息是:
[20231003 12:51:19 I] unknown:0 - "Received a ServiceFault response"
[20231003 12:51:19 I] unknown:0 - "The ServiceResult has the StatusCode BadTimeout"
[20231003 12:51:19 W] unknown:0 - "Received Timeout for Publish Response"
您的客户端应用程序发送/排队的 PublishRequest 数量可能多于订阅所需的活动级别,或者 RequestHeader 中的超时提示太短,最终服务器将其出队并发现它的接收时间早于超时时间提示并发送回带有 Bad_Timeout 的 ServiceFault 响应。