What is Socket.IO?
Who uses Socket.IO?
Why developers like Socket.IO?
Here are some stack decisions, common use cases and reviews by companies and developers who chose Socket.IO in their tech stack.
I use Socket.IO because the application has 2 frontend clients, which need to communicate in real-time. The backend-server handles the communication between these two clients via websockets. Socket.io is very easy to set up in Node.js and ExpressJS.
In the research project, the 1st client shows panoramic videos in a so called cave system (it is the VR setup of our research lab, which consists of three big screens, which are specially arranged, so the user experience the videos more immersive), the 2nd client controls the videos/locations of the 1st client.
Where we have browser support (recent Chrome, Firefox, and Safari), we make a WebSocket connection so that the server can push changes made by other people down to browsers listening on the appropriate channels. We use a modified version* of the Socket.io client and server libraries that allows us to keep many thousands of open WebSockets on each of our servers at very little cost in terms of CPU or memory usage. So when anything happens to a board you’re watching, that action is published to our server processes and propagated to your watching browser with very minimal latency, usually well under a second. Socket.IO
Socket.IO is used for basic websocket capabilities. Used for simple chat applications, and features that require realtime interactions with servers or other clients. Socket.IO
The real-time portion of Academus Chat is powered by Node.js and Socket.IO. It is bound to our backend web app by an internal API, and it allows us to provide a fast, realtime experience to our users without any hiccups.
- Real-time analytics - Push data to clients that gets represented as real-time counters, charts or logs.
- Binary streaming - Starting in 1.0, it's possible to send any blob back and forth: image, audio, video.
- Instant messaging and chat - Socket.IO's "Hello world" is a chat app in just a few lines of code.
- Document collaboration - Allow users to concurrently edit a document and see each other's changes.