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