-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
Fragment Size is not buffer size #395
Comments
This package can send a message of any size and will fragment messages in some circumstances. As the quote from the RFC states, message fragmenting is allowed. This package can receive a message of any size, independent of any fragmenting. If the traefik server cannot handle fragmented messages, then report the issue with the traefik server. |
Sorry. |
This package does not trim messages. Based on a quick look at the traefik code, I don't see anything there that will trim a message. It sounds like the backend server does not support fragmented messages. What is the backend server? |
When working without proxy problem absent.
` |
And: |
Does gevent-websocket report an error when reading the fragmented message? Can the application continue to read the websocket after reading the fragmented message? |
Here's what we know:
Next step:
I do not have time to work on this (see #370). Edit: gevent_websocket has an echo example and this package has an echo client. Modify the echo client to send messages larger than the write buffer size and to check that received message have the expected length. |
I can take a look at this on the weekend.
If the OP can help reproduce with the topology described by Gary, it’d help
speed things up.
…On Thu, Jun 28, 2018 at 4:47 PM Gary Burd ***@***.***> wrote:
Here's what we know:
- OP has application with browser <-> Traefik <-> backend application
that uses gevent_websocket.
- Traefik uses this package.
- When messages are fragmented between Traefik and backend application
, the application receives "trimmed" messages.
Next step:
- Test this package with echo server written with gevent_websocket. If
fragmented messages do not work in this scenario, then debug the problem.
Otherwise, close the issue.
I do not have time to work on this (see #370
<#370>).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#395 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABIcLxNe8dBYIDQ62gLleFmPF6uMzrPks5uBWr3gaJpZM4U4GxR>
.
|
No. Because payload is json I had error in json parsing.
Not sure. websocket package behind socket.io that could reconect on error disconecting. But in js console nothing. |
Can you document the parts at play here? Where does socket.io fit in, since this is the first time you’ve mentioned it. Diagram (ASCII is OK) would be great. I want to spin up the same client, Traefik, gevent backend to replicate this first. We need a standalone repro with an echo backend, and then we can look at Traefik & client-side by process of elimination. |
I will make some test/simplified environment |
Closing because no response from OP in a month. |
Really I can't find size of message when Chrome starts using fragmentation, but I hope
it exists. Anyway it is not 4K.
But in accordance with RFC6455:
Your implementation limits the size of the fragment to the size of the buffer (by default 4K).
As a result traefik proxy server can't send to backend messages longer then 4K.
The text was updated successfully, but these errors were encountered: