socketio / socket.io

Realtime application framework (Node.JS server)
https://socket.io
MIT License
61.07k stars 10.11k forks source link

Add support for the per-frame DEFLATE extension #1148

Closed bendiy closed 9 years ago

bendiy commented 11 years ago

Any plans to add support for per-frame DEFLATE: http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-06

Some basic tests suggest I could reduce the size of my message frames to just 12% of their original size. That would help a lot with bandwidth usage.

Thanks!

brianneisler commented 11 years ago

+1, any plans to implement this in the near future?

zackbloom commented 11 years ago

:+1:

abdielou commented 11 years ago

+1

Zolmeister commented 11 years ago

+1

vincentwoo commented 11 years ago

:thumbsup: :hamburger: :thumbsup:

tjwebb commented 11 years ago

+1

marcucio commented 11 years ago

+1

poscar commented 11 years ago

+1

PascalPflaum commented 11 years ago

+1

BenDavidJamin commented 10 years ago

:+1:

gtamas commented 10 years ago

Are you working on this? If so, when will this be available?

jnorris441 commented 10 years ago

My app sends a lot of data, this would help quite a bit....

arendjr commented 10 years ago

Maybe needless to say, but please make this functionality opt-in on the server-side.

I notice Chrome currently sends this header: "Sec-WebSocket-Extensions:permessage-deflate; client_max_window_bits, x-webkit-deflate-frame", and I wondered what the impact would be. But I actually send many small frames over Socket.io, and applying gzip on them manually actually inflates their size. So if this were implemented, I would rather have the option to turn it off server-side completely.

enusbaum commented 10 years ago

+1

bikegriffith commented 10 years ago

Bump. Would love this. Have a massive record structure we want to efficiently send to the client over our WebSocket connection (~10MB).

aartiles commented 10 years ago

+1

khuongduybui commented 10 years ago

+1

jnorris441 commented 10 years ago

I am starting to send too much data. Ugh, I don't want to go back to gzipped REST

rauchg commented 10 years ago

We're gonna support this for sure. 1.1 is out in a couple days, and this should be in 1.2

rauchg commented 10 years ago

Closed by mistake.

AkramKamal commented 10 years ago

+1

branimir93 commented 10 years ago

+1

morus12 commented 10 years ago

+1

rauchg commented 10 years ago

We're actively working on this, my +1ing friends.

bendiy commented 10 years ago

Great news. Thanks for the update. I look forward to turning my +1 bot off ;)

morus12 commented 10 years ago

I've created simple deflate extension (forked from socket.io 0.9.14) for an internal use, please feel free if you would like to use it.

https://github.com/livechat/socket.io/tree/0.10.0

Can't wait for official support ;)

syzer commented 10 years ago

+1

edoardofenati commented 9 years ago

+1

rauchg commented 9 years ago

We're working on this. Part of the challenge is that ws doesn't have support for it yet, but we're addressing it.

nkzawa commented 9 years ago

@guille Did you intentionally close this issue?

rauchg commented 9 years ago

Mistake by rauchgbot

leearmstrong commented 9 years ago

+1

rustinlee commented 9 years ago

Not that there's even a point to +1ing any more, but here you go anyway :+1:

nhitchins commented 9 years ago

+10000000

rauchg commented 9 years ago

Support for engine.io is almost ready. Sit tight!

On Wed Jan 14 2015 at 5:57:26 PM nhitchins notifications@github.com wrote:

+10000000

— Reply to this email directly or view it on GitHub https://github.com/Automattic/socket.io/issues/1148#issuecomment-70016954 .

nhitchins commented 9 years ago

awesome!

leearmstrong commented 9 years ago

I see this has made it to the engine.io-client overnight, is there a way to try Socket.IO with this at all? Would it be a case of forking and editing the package.json?

rauchg commented 9 years ago

Continuing this here: https://github.com/Automattic/socket.io/issues/1947

We're about to merge the socket.io integration. At that point you can use it :)