Open Bug 1163669 Opened 10 years ago Updated 4 years ago

Websocket Flow Control: Tell server to stop sending when client cannot handle it

Categories

(Core :: Networking: WebSockets, defect, P5)

37 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: christos.alewa, Unassigned)

Details

(Whiteboard: [necko-backlog])

User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0 Build ID: 20150415140819 Steps to reproduce: We have a program which runs JavaScript and opens a Websocket-connection, continuously receiving data from a server for a RDP connection our program runs. Actual results: By the time the handling speed of the incoming data is lower than the receiving speed, the data is getting queued indefinitely. The memory consumed is grows, because the server side, keeps sending data though on the other end it is not being handled. In the end, the Firefox process grows to several GBs and crashes. Expected results: Websocket should, like TCP, when the client cannot (or does not) handle the data , give a feedback to the server for it to stop sending. In our tests, this happens and is thus correctly implemented only in Internet Explorer. Could the Websocket-protocol implementation be worked over? I looked for some other bug describing this behaviour, but, since i didn't find one. I submit hereby a new one.
Summary: Websocket Flow Control → Websocket Flow Control: Tell server to stop sending when client cannot handle it
Component: Untriaged → Networking: WebSockets
Product: Firefox → Core
That is not the Solution, since the Websocket-Protocol is based on TCP, this should happen protocol-based. Like I said, apparently, in the IE implementation of the Websocket-Protocol, it does. It sends a TCP-Zero-Window, which keeps the server from sending further data.
Whiteboard: [necko-backlog]
Priority: -- → P1
Priority: P1 → P3

Bulk-downgrade of unassigned, >=3 years untouched DOM/Storage bug's priority.

If you have reason to believe this is wrong, please write a comment and ni :jstutte.

Severity: normal → S4
Priority: P3 → P5
You need to log in before you can comment on or make changes to this bug.