Socket.IO is an event-driven library for real-time web applications. It enables real-time, bi-directional communication between web clients and servers. It consists of two components: a client, and a server. Both components have a nearly identical API.
Socket.IO is also a protocol, where different complying implementations of the protocol can communicate with each other. The main implementation consists of two parts: a client that runs in the browser and a server for Node.js. Apart from the main implementation, there are multiple implementations, for example, the official Deno (JavaScript), C++, Java, Python, and Swift servers.
Socket.IO primarily uses the WebSocket protocol with polling as a fallback option, while providing the same interface. Although it can be used simply as a wrapper for WebSockets, it provides many additional features such as heartbeats and timeouts.
It can be installed with the npm (Node Package Manager).
See also
- Free and open-source software portal
External links
References
Prusty, Narayan (2016-07-25). Modern JavaScript Applications. Packt Publishing Ltd. p. 103. ISBN 978-1-78588-027-8. 978-1-78588-027-8 ↩
"Socket.IO Protocol". GitHub. Retrieved May 26, 2023. https://github.com/socketio/socket.io-protocol ↩
Ihrig, Colin J. (2014-01-18). Pro Node.js for Developers. Apress. p. 213. ISBN 978-1-4302-5861-2. 978-1-4302-5861-2 ↩
Ihrig, Colin J. (2014-01-18). Pro Node.js for Developers. Apress. p. 213. ISBN 978-1-4302-5861-2. 978-1-4302-5861-2 ↩
"socket.io". npmjs.org. 31 May 2023. https://npmjs.org/package/socket.io ↩