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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

rsv is not implemented, yet #314

Closed
jakobdo opened this issue Apr 12, 2017 · 23 comments
Closed

rsv is not implemented, yet #314

jakobdo opened this issue Apr 12, 2017 · 23 comments

Comments

@jakobdo
Copy link

jakobdo commented Apr 12, 2017

Anyway to get this implemented ? 馃憤

@gkivanov
Copy link

gkivanov commented Jul 3, 2017

+1

@pmp-p
Copy link

pmp-p commented Aug 29, 2017

+2

@Vacant0mens
Copy link

+1

@asafmod
Copy link

asafmod commented Feb 2, 2018

This is caused probably by kernel tcp buffers being overrun.

@jeffro256
Copy link

+1

5 similar comments
@lickmydesign
Copy link

+1

@crazbot
Copy link

crazbot commented Apr 29, 2018

+1

@myxtype
Copy link

myxtype commented Jun 5, 2018

+1

@fspaniol
Copy link

+1

@skakim
Copy link

skakim commented Aug 30, 2018

+1

@LobbyBoy-Dray
Copy link

+1, so how to solve it?

@liris
Copy link
Collaborator

liris commented Oct 17, 2018

I don鈥檛 understand what you want.

@pmp-p
Copy link

pmp-p commented Oct 17, 2018

@liris extended payload length ( Payload length: 7 bits, 7+16 bits, or 7+64 bits
) are not implemented in a bidirectionnal way. you can send big packet but only receive 125B max at once.

@thehackercat
Copy link

+1

1 similar comment
@ly95
Copy link

ly95 commented Jan 10, 2019

+1

@skakim
Copy link

skakim commented Jan 14, 2019

@liris The problem is the exception raised in this line. This Issue is about multiple people needing this to be implemented for their projects.

@Couperin100
Copy link

What resolved it for me was that my client header contained:
Sec-WebSocket-Extensions: permessage-deflate
so by removing it, I didnt see the error anymore.

@HarishB167
Copy link

What resolved it for me was that my client header contained:
Sec-WebSocket-Extensions: permessage-deflate
so by removing it, I didnt see the error anymore.

Thank yours solution worked. It should be in top results of google search.

@Couperin100
Copy link

Maybe this issue should be implemented in a way to handle rsv(s) not being set to 0 where different websocket extension negotiations are handled correctly else rsv should always be set to 0 according to the documentation highlighted with the code:

and http://tools.ietf.org/html/rfc6455#section-5.2
.

https://tools.ietf.org/html/rfc6455#section-5.2

RSV1, RSV2, RSV3: 1 bit each

  MUST be 0 unless an extension is negotiated that defines meanings
  for non-zero values.  If a nonzero value is received and none of
  the negotiated extensions defines the meaning of such a nonzero
  value, the receiving endpoint MUST _Fail the WebSocket
  Connection_.

@engn33r
Copy link
Collaborator

engn33r commented Mar 29, 2021

Hi everyone, can someone clarify the exact use case that you are looking for rsv support for? Are you using WebSocket Compression with the header Sec-WebSocket-Extensions: permessage-deflate from RFC 7692, or is there another use for the rsv values that I am overlooking? The project FAQ mentions that WebSocket Compression is not supported, and I don't plan on implementing it myself in the coming months - a PR would certainly be welcome.

@pmp-p
Copy link

pmp-p commented Mar 30, 2021

I don't plan on implementing it

but then it would not be websocket

is there another use for the rsv values that I am overlooking

https://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-4.2

As i said extended payload must work both way and at the time it was not working, but as rsv is only a part of the opcode maybe the exception message was just misleading
. Next time don't let issue hanging if you want relevant information. from my point of view websocket-client is forever broken, and i did not try to use it since.

@engn33r
Copy link
Collaborator

engn33r commented Apr 30, 2021

Unless I am mistaken, the rsv bit it only used for WebSocket extensions. If I am mistaken, please let me know and we can discuss other edge cases. At the current time, this library does not support any extensions, and therefore expects rsv = 0, otherwise the exception will be triggered (which everyone in this thread has probably seen). I understand it would be ideal to support extensions, but I personally don't have the time to implement this functionality right now. Maybe I will implement this in the distant future, but if you really want this functionality added to in this library and do not want to switch to another library that has such support, it would be great if you could help by contributing a PR. While you may not like this answer, I will acknowledge this issue exists but will close as won't fix. I have updated the README and the FAQ to reflect this.

As one earlier solution pointed out, if you are able to create a WebSocket connection without the Sec-WebSocket-Extensions: header, then you should not encounter this issue.

Edit: It looks like PR #576 may have added some support for viewing compressed text in the wsdump.py script. If someone wants to weigh in on whether they have used this script with existing partial support for permessage-deflate, that would be helpful. The autobahn results indicate zero support with the underlying library.

@adrianbosacki1
Copy link

Thank you, you made my day.

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

No branches or pull requests