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

Bad handling of sending stream makes lib not RFC compatible and KeepClean useless in some cases. #760

Open
KG-PL opened this issue Nov 20, 2024 · 0 comments

Comments

@KG-PL
Copy link

KG-PL commented Nov 20, 2024

I do not know if this is required, but for WebSocket.cs call:
private bool send (Opcode opcode, Stream sourceStream)
send lock is put prematurely. This will violate RFC behaviour described in: https://datatracker.ietf.org/doc/html/rfc6455#section-5.5

Also makes option KeepClean switch useless when sending larger data or network stream is getting slow. Ping request is stalled until fragmented transfer finish transfer, but should be sent in between data fragments as RFC allows it. Because of this and flawed internal logic, connection can be closed due to Ping not responding with KeepClean set to true.

Current workaround is to implement custom Ping/Pong logic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant