| Socket.IO | |
|---|---|
| Original author | Guillermo Rauch |
| Developer | Automattic |
| Stable release | |
| Written in | JavaScript |
| Operating system | Cross-platform |
| Type | Event-drivennetworking |
| License | MIT License[2] |
| Website | socket |
| Repository | |
Socket.IO is anevent-driven library for real-timeweb applications. It enables real-time, bi-directionalcommunication betweenweb clients and servers.[3] It consists of two components: aclient, and aserver. Both components have a nearly identicalAPI.
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 thebrowser and a server forNode.js. Apart from the main implementation, there are multiple implementations, for example, the officialDeno (JavaScript),C++,Java,Python, andSwift servers.
Socket.IO primarily uses theWebSocket protocol with polling as a fallback option, while providing the same interface.[5] Although it can be used simply as awrapper for WebSockets, it provides many additional features such as heartbeats and timeouts.[5]
It can be installed with thenpm (Node Package Manager).[6]