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
Original author(s)Guillermo Rauch
Developer(s)Automattic
Stable release
4.7.2 / August 2, 2023 (2023-08-02)[1]
Repository
Written inJavaScript
Operating systemCross-platform
TypeEvent-driven networking
LicenseMIT License[2]
Websitesocket.io

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.[5]

It can be installed with the Node Package Manager (NPM).[6]

See also

edit

References

edit
  1. ^ "Releases · socketio/socket.io". GitHub.com. Retrieved 12 March 2021.
  2. ^ "socket.io/LICENSE at master · socketio/socket.io · GitHub". GitHub. 20 January 2023.
  3. ^ Prusty, Narayan (2016-07-25). Modern JavaScript Applications. Packt Publishing Ltd. p. 103. ISBN 978-1-78588-027-8.
  4. ^ "Socket.IO Protocol". GitHub. Retrieved May 26, 2023.
  5. ^ a b Ihrig, Colin J. (2014-01-18). Pro Node.js for Developers. Apress. p. 213. ISBN 978-1-4302-5861-2.
  6. ^ "socket.io". npmjs.org. 31 May 2023.
edit