
| Socket.IO | |
| Logo Upright: | yes |
| Author: | Guillermo Rauch |
| Developer: | Automattic |
| Programming Language: | JavaScript |
| Operating System: | Cross-platform |
| Genre: | Event-driven networking |
| License: | MIT License[1] |
Socket.IO is an event-driven library for real-time web applications. It enables real-time, bi-directional communication between web clients and servers.[2] It consists of two components: a client, and a server. Both components have a nearly identical API.
Socket.IO is also a protocol,[3] 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.[4] 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).[5]