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

RawSocket ping/pong messages #381

Open
darkl opened this Issue Jul 31, 2015 · 4 comments

Comments

Projects
None yet
4 participants
@darkl
Contributor

darkl commented Jul 31, 2015

I'm working a RawSocket client implementation for WampSharp.
Everything went well until I introduced the ping/pong messages. When I send a crossbar router a ping message, it drops the connection.
By looking at the code (in this repository and AutobahnPython, and AutobahnCpp repositories), I couldn't find anything related to ping/pong messages.

It seems that crossbar and Autobahn variants don't implement the RawSocket ping/pong spec.
I'll make this configurable so that WampSharp can choose not to auto-ping routers, but I'm opening this issue for your attention.

Thanks


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@tlausch

This comment has been minimized.

tlausch commented Aug 1, 2015

That i noticed too. Crossbar rawsocket missinterprets all bits including the ping pong reserved bits as message length. It drops the connection since the ping pong bits make the message seem larger than allowed.

As far as i know ping pong is a Feature of websocket and not necessarily needed for a raw Connection.
Is there any benefit of implementing ping pong on a raw socket at all?

Greetings

----- Ursprüngliche Nachricht -----
Von: "Elad Zelingher" notifications@github.com
Gesendet: ‎01.‎08.‎2015 00:31
An: "crossbario/crossbar" crossbar@noreply.github.com
Betreff: [crossbar] RawSocket ping/pong messages (#381)

I'm working a RawSocket client implementation for WampSharp.
Everything went well until I introduced the ping/pong message. When I send a crossbar router a ping message, it drops the connection.
By looking at the code (in this repository and AutobahnPython, and AutobahnCpp repositories), I couldn't find anything related to ping/pong messages.
It seems that crossbar and Autobahn variants don't implement the RawSocket ping/pong spec.
I'll make this configurable so that WampSharp can choose not to auto-ping routers, but I'm opening this issue for your attention.
Thanks

Reply to this email directly or view it on GitHub.

@darkl

This comment has been minimized.

Contributor

darkl commented Aug 1, 2015

Ping/Pongs are part of the RawSocket spec, they are useful for detecting connection loss (in cases where a FIN packet hasn't been sent, for example on violent disconnections, such as disconnecting network cable).

@oberstet

This comment has been minimized.

Member

oberstet commented Aug 15, 2015

@darkl correct: the spec has ping/pongs defined for RawSocket, but AutobahnPython and Crossbar.io currently lack this

see also: crossbario/autobahn-python#453

@oberstet oberstet modified the milestone: 0.12.0 Aug 24, 2015

@oberstet oberstet removed this from the 0.12.0 milestone Jan 24, 2016

@fhriley

This comment has been minimized.

fhriley commented Oct 31, 2017

Crossbar rawsocket missinterprets all bits including the ping pong reserved bits as message length. It drops the connection since the ping pong bits make the message seem larger than allowed.

I filed #1206 for this, but it was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment