Jump to content

Socket.IO: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
MonX94 (talk | contribs)
m remove a space before comma
MonX94 (talk | contribs)
there are python socketio libraries, the one for Flask specifically as well
 
Line 25: Line 25:
'''Socket.IO''' is an [[Event-driven architecture|event-driven]] library for real-time [[web application]]s. It enables real-time, bi-directional communication between [[Web client|web clients]] and servers.<ref>{{Cite book |last=Prusty |first=Narayan |url=https://books.google.com/books?id=eJWqDQAAQBAJ&newbks=0&printsec=frontcover&pg=PA107&dq=%22Socket.IO%22+-wikipedia&hl=en |title=Modern JavaScript Applications |date=2016-07-25 |publisher=Packt Publishing Ltd |isbn=978-1-78588-027-8 |pages=103 |language=en}}</ref> It consists of two components: a [[Client (computing)|client]], and a [[Server (Computing)|server]]. Both components have a nearly identical [[Application programming interface|API]].
'''Socket.IO''' is an [[Event-driven architecture|event-driven]] library for real-time [[web application]]s. It enables real-time, bi-directional communication between [[Web client|web clients]] and servers.<ref>{{Cite book |last=Prusty |first=Narayan |url=https://books.google.com/books?id=eJWqDQAAQBAJ&newbks=0&printsec=frontcover&pg=PA107&dq=%22Socket.IO%22+-wikipedia&hl=en |title=Modern JavaScript Applications |date=2016-07-25 |publisher=Packt Publishing Ltd |isbn=978-1-78588-027-8 |pages=103 |language=en}}</ref> It consists of two components: a [[Client (computing)|client]], and a [[Server (Computing)|server]]. Both components have a nearly identical [[Application programming interface|API]].


Socket.IO is also a protocol,<ref>{{Cite web |url=https://github.com/socketio/socket.io-protocol |title=Socket.IO Protocol |website=GitHub |language=en |access-date=May 26, 2023}}</ref> 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 [[web browser|browser]] and a server for [[Node.js]]. Apart from the main implementation, there are multiple implementations, for example, the official [[Deno (software)|Deno (JavaScript)]], [[C%2B%2B|C++]], [[Java (programming language)|Java]], and [[Swift (programming language)|Swift]] servers.
Socket.IO is also a protocol,<ref>{{Cite web |url=https://github.com/socketio/socket.io-protocol |title=Socket.IO Protocol |website=GitHub |language=en |access-date=May 26, 2023}}</ref> 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 [[web browser|browser]] and a server for [[Node.js]]. Apart from the main implementation, there are multiple implementations, for example, the official [[Deno (software)|Deno (JavaScript)]], [[C%2B%2B|C++]], [[Java (programming language)|Java]], and [[Swift (programming language)|Swift]] servers.


Socket.IO primarily uses the [[WebSocket]] protocol with polling as a fallback option, while providing the same interface.<ref name=":0">{{Cite book |last=Ihrig |first=Colin J. |url=https://books.google.com/books?id=FZcQAwAAQBAJ&newbks=0&printsec=frontcover&pg=PA213&dq=%22Socket.IO%22+-wikipedia&hl=en |title=Pro Node.js for Developers |date=2014-01-18 |publisher=Apress |isbn=978-1-4302-5861-2 |pages=213 |language=en}}</ref> Although it can be used simply as a [[wrapper library|wrapper]] for WebSockets, it provides many additional features such as heartbeats and timeouts.<ref name=":0" />
Socket.IO primarily uses the [[WebSocket]] protocol with polling as a fallback option, while providing the same interface.<ref name=":0">{{Cite book |last=Ihrig |first=Colin J. |url=https://books.google.com/books?id=FZcQAwAAQBAJ&newbks=0&printsec=frontcover&pg=PA213&dq=%22Socket.IO%22+-wikipedia&hl=en |title=Pro Node.js for Developers |date=2014-01-18 |publisher=Apress |isbn=978-1-4302-5861-2 |pages=213 |language=en}}</ref> Although it can be used simply as a [[wrapper library|wrapper]] for WebSockets, it provides many additional features such as heartbeats and timeouts.<ref name=":0" />

Latest revision as of 11:44, 1 June 2024

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

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