Add support for pinging and timeouts to C++ client
analogrelay opened this issue · 10 comments
Epic #8720
- Sending pings from the client
- Timing out the server connection based on server activity (pings, etc.)
We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.
Thanks for contacting us.
We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. Because it's not immediately obvious that this is a bug in our framework, we would like to keep this around to collect more feedback, which can later help us determine the impact of it. We will re-evaluate this issue, during our next planning meeting(s).
If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues.
To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.
@BrennanConroy Can I ask what this refers to? The .NET client sends a hearbeat that can be intercepted on the server so that the client can be indicated as "alive" by server side logic.
Does this suggest that this feature does not exist in the C++ client (i.e. it will not send the keep alive for a WebSocket connection?)
This is referring to https://github.com/dotnet/aspnetcore/blob/main/src/SignalR/docs/specs/HubProtocol.md#ping-aka-keep-alive, which is not implemented for the C++ client currently.
Thanks. Can I ask why this has been bumped to .net 7? It seems pretty important for any client to keep the connection alive. One of the benefits of the .net client is that it does this automatically, indicates via events when connections are dropped and has automatic reconnection logic.
Can I ask why this has been bumped to .net 7?
Because the client is still a work in progress.
Understood. I know the client is still alpha (beta?) but we’re looking to use it right now in an IOT environment instead of wrapping the .net client itself (main app is C++/QT). It is likely that missing parity features (such as this) will be added outside the .net release cycle?
Just trying to decide on the best options for us.
It is likely that missing parity features (such as this) will be added outside the .net release cycle?
Yes, the project "ships" from a different repo. You can either consume it from source (so get changes as they come in or whenever you want them), or wait for us to update vcpkg with a newer commit (happens occasionally after a batch of changes go in). .NET 7 doesn't really have a meaning to the C++ client, it's just how we track things in this repo.
Ok, thank you
Done via aspnet/SignalR-Client-Cpp#77