Comments (5)
After doing some more research, these "Sec-WebSocket-" headers are a part of the draft 76 spec for websockets. The old draft 75 spec used "WebSocket-".
Along with this new draft, two "key" headers and an 8-byte body are sent in the request now. You have to strip out all non-digits from the two keys, divide each resulting number by the number of spaces in the original respective keys, convert each result of the division to big-endian, and then concatenate these numbers together as a string. Next, append the 8-byte body to the string. Lastly, create a binary MD5 hash of this string and send it as the body of the response.
I've tried to incorporate this new required security mechanism in Javascript without any luck.
from socket.io.
I don't think any stable build uses Sec* headers. Am I right?
from socket.io.
Just to update: I've managed to get the new draft (76) websocket protocol working after much debugging.
from socket.io.
Well I'll try your fork then ;)
from socket.io.
works perfect. thx 1000+ times !
from socket.io.
Related Issues (20)
- Uncaught ReferenceError: Buffer is not defined HOT 2
- Page Refresh issue with socket HOT 2
- maxHttpBufferSize option don't work with bun HOT 1
- emitWithAck does not throw on disconnect HOT 3
- Make `emitWithAck` for a room say which socket(s) failed to ack HOT 1
- Connection recovery doesn't work HOT 2
- Allow to bind socket.io to bun built in server. HOT 2
- authToken = null in springboot despite set by the client HOT 1
- Replace `XMLHttpRequest` with `fetch` HOT 1
- "emitWithAck" function leaks memory when acknowledgement timeout HOT 1
- this.children is undefined for ParentBroadcastAdapter broadcast HOT 3
- How to get error details in client when server side with io.engine.use middleware HOT 1
- [adapter]: Add option to fetchSockets that returns results even if some nodes didn't respond HOT 1
- Simplify Socket.Io Docs by Removing `createServer` HOT 1
- What's the path!? HOT 1
- When I send a lot of data, the connection will breaks HOT 1
- Make room name string argument compatible with ES6 template literals HOT 4
- When I sent a byte [], the client failed to receive it. HOT 1
- My client sockets disconnect with a "ping timeout" reason after a few hours of connection and can't connect again HOT 3
- Argument of type '(nsp: any) => RedisStreamsAdapter' is not assignable to parameter of type 'AdapterConstructor' socket.io version 4.7.5 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from socket.io.