This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
|Original author(s)||Guillermo Rauch|
4.0.0 / March 10, 2021
Socket.IO primarily uses the WebSocket protocol with polling as a fallback option, while providing the same interface. Although it can be used as simply a wrapper for WebSocket, it provides many more features, including broadcasting to multiple sockets, storing data associated with each client, and asynchronous I/O.
Socket.IO handles the connection transparently. It will automatically upgrade to WebSocket if possible. This requires the programmer to only have Socket.IO knowledge.
Socket.IO is not a WebSocket library with fallback options to other realtime protocols. It is a custom realtime transport protocol implementation on top of other realtime protocols. A Socket.IO implementing server cannot connect to a non-Socket.IO WebSocket client. A Socket.IO implementing client cannot talk to a non-Socket.IO WebSocket or Long Polling Comet server. Socket.IO requires using the Socket.IO libraries on both client and server side.
- "Releases · socketio/socket.io". GitHub.com. Retrieved 12 March 2021.
- "socket.io/LICENSE at master · socketio/socket.io · GitHub". GitHub.
- "socketio/engine.io". GitHub.
- "socket.io". npmjs.org.
- "faq - npm Documentation". npmjs.com. Archived from the original on 2015-11-25.
- Damien Arrachequesne (13 May 2017). "Socket.IO 2.0.0 release post".