-
Notifications
You must be signed in to change notification settings - Fork 17
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
ping pong over websocket in ringserver #33
Comments
Agreed. Got a repeatable test?
That is why the ID is an exception, i.e so it can be used for pings. |
Yep, what I meant was once you enable it for websockets, it should be trivial to let a regular socket use the same PING PONG messages. I agree it doesn;t really do anything that ID doesn't, just for consistency between the two types of connections. |
Actually, ping-pong, because it is embedded in the websocket frame doesn't really make sense for plain sockets. Pretend I never said anything about it... |
Repeatable test case would be like Start up an otherwise empty ringserver, run readdali.py and wait for 5 seconds, barf will occur. |
Default python websockets send a PING periodically to keep a websocket connection alive. When this happens, ringserver appears to close the connection.
Would be nice if ringserver dali over websocket allowed PING-PONG.
Spec stuff here:
https://www.rfc-editor.org/rfc/rfc6455.html#section-5.5.2
If not, would be good if it could log the close with a reason in the server side logging. Currently I get a disconnet but no reason or even info that that a bad command was sent:
and on the python side I get a frame error, I think because the websocket doesn't go through a normal shutdown sequence.
Note this is in STREAM mode, but where no data is flowing. The Datalink protocol says:
so techinically this is ok by websockets, but prohibited by datalink. I think it would be good to handle when doing web sockets, and maybe allow PING-PONG for normal sockets would be useful too?
The text was updated successfully, but these errors were encountered: