Adding closeSocket method for finer control of socket handling #638
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I found that we don't need to recreate
VsWebSocket
since that class itself is just a wrapper around the actual QWebSocket pointer.This should also closely mirror how the bridge devices execute heartbeats, which is:
In practice, I'm seeing there is a small gap in behavior because of the non-blocking nature of these QT libraries. For example, I added this line:
qDebug() << now << "Websocket valid" << m_heartbeatWebSocket->isValid();
to confirm the behavior above, and what I saw was:
The line
"2022-06-24T16:31:23Z" Websocket valid false
should never be false, but the remote host breaks the websocket connection every 5m and although we reopen this socket connection, it takes time to set that up. I'm not sure if there's a way we can make thisopenSocket
blocking or not.