I have a Qt application that exchange data via QtOpcUa.
I don't have any polling or browsing or other operation but a bunch of subscriptions.
Every few minutes I get a BadTimeout
error from the server that closes the connection.
This happens only if I have any subscription enabled and more than one PLC connected. But what can cause such a timeout?
Here I read:
The operation timed out.
How a subscription can "time out"? It's done by the server itself! Is it a problem of the server or can I do anything client side?
The messages I receive are:
[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"
Your client application may be sending/queueing more PublishRequests than the activity level of the Subscriptions needs, or with timeout hints in the RequestHeader that are too short, and eventually the server de-queues it and finds that it was received longer ago than the timeout hint and sends back a ServiceFault response with Bad_Timeout.