When sending out a heartbeat, also send a ping frame#1
Open
DefV wants to merge 1 commit into
Open
Conversation
My current implementation of the client can be quiet for hours, which would trigger the 60-second timeout in `cowboy_websocket`. Adding a ping-frame forces clients to respond with a pong-frame, restarting the loop. In testing I found that some browsers work better with some payload data added, so I'm adding the same "h" string as payload.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
My current implementation of the client can be quiet for hours, which would
trigger the 60-second timeout in
cowboy_websocket. Adding a ping-frameforces clients to respond with a pong-frame, restarting the loop. In testing
I found that some browsers work better with some payload data added, so I'm
adding the same "h" string as payload.
I figured I'd send a PR here since Ably seems to be maintaining the most
up-to-date & worked on fork.
I'm quite new to erlang development so any pointers on how to improve the
implementation are welcome. I'm not very proud of how I forced it in there,
and feel like it would be better to put this in
sockjs_ws_handlerinstead,but that felt like a bigger refactor.