Jump to content

Socket.IO

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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 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.[5]

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

See also

References

  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.