Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement heartbeat mechanism with JSON RPC protocol #5935

Closed
ashumilova opened this issue Aug 8, 2017 · 5 comments
Closed

Implement heartbeat mechanism with JSON RPC protocol #5935

ashumilova opened this issue Aug 8, 2017 · 5 comments
Assignees
Labels
kind/enhancement A feature request - must adhere to the feature request template. status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. target/branch Indicates that a PR will be merged into a branch other than master.

Comments

@ashumilova
Copy link
Contributor

Need to implement ping-pong mechanism for detecting websocket connections or ability to use heartbeats for keeping connections alive. We already have it in everrest websocket implementation.

@ashumilova ashumilova added kind/enhancement A feature request - must adhere to the feature request template. team/ide labels Aug 8, 2017
@dkulieshov
Copy link

I guess that could be a simple JSON-RPC service receiving a ping request and responding a ping response.

@ashumilova
Copy link
Contributor Author

ashumilova commented Aug 8, 2017

yes, receiving "ping" and responding "pong" on it - and that's all. Clients will know what to do with that on their own.

@garagatyi
Copy link

Websocket protocol implements this already, doesn't it? Why do we need to do it on application level?

@dkulieshov
Copy link

dkulieshov commented Aug 9, 2017

According to websocket specification section that describes ping/pong sequences that should be technically possible, however my suggestion is based on similar thoughts:

There is no Javascript API to send ping frames or receive pong frames. This is either supported by your browser, or not. There is also no API to enable, configure or detect whether the browser supports and is using ping/pong frames.

However, if you control both the client and server code, then you can easily add ping/pong support at a higher level. You will need some sort of message type header/metadata in your message if you don't have that already, but that's pretty simple.

Origin: https://stackoverflow.com/questions/10585355/sending-websocket-ping-pong-frame-from-browser

And that seems to me much easier to implement and to support.

@garagatyi
Copy link

I see your point

@RomanNikitenko RomanNikitenko added the status/in-progress This issue has been taken by an engineer and is under active development. label Oct 18, 2017
@vparfonov vparfonov added sprint/current target/branch Indicates that a PR will be merged into a branch other than master. and removed sprint/next labels Oct 20, 2017
@RomanNikitenko RomanNikitenko added status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. and removed status/in-progress This issue has been taken by an engineer and is under active development. labels Oct 25, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template. status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. target/branch Indicates that a PR will be merged into a branch other than master.
Projects
None yet
Development

No branches or pull requests

5 participants