Socket.IO logo

Socket.IO

Realtime application framework (Node.JS server)
3.5K
2.3K
+ 1
680

What is Socket.IO?

It enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.
Socket.IO is a tool in the Realtime Backend / API category of a tech stack.
Socket.IO is an open source tool with 48.2K GitHub stars and 8.8K GitHub forks. Here鈥檚 a link to Socket.IO's open source repository on GitHub

Who uses Socket.IO?

Companies
1087 companies reportedly use Socket.IO in their tech stacks, including Banksalad, Swat.io, and PedidosYa.

Developers
2323 developers on StackShare have stated that they use Socket.IO.

Socket.IO Integrations

React, Backbone.js, Angular 2, Auth0, and Outbrain are some of the popular tools that integrate with Socket.IO. Here's a list of all 13 tools that integrate with Socket.IO.

Why developers like Socket.IO?

Here鈥檚 a list of reasons why companies and developers use Socket.IO
Socket.IO Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose Socket.IO in their tech stack.

across_the_grid
across_the_grid
Full-stack web developer at Capmo GmbH | 10 upvotes 49.8K views
Socket.IO
Socket.IO
Node.js
Node.js
ExpressJS
ExpressJS

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.

See more
React
React
Redux
Redux
FeathersJS
FeathersJS
HTML5
HTML5
JavaScript
JavaScript
MongoDB
MongoDB
Redis
Redis
Socket.IO
Socket.IO
ES6
ES6

I have always been interested in building a real-time multiplayer game engine that could be massively scalable, and recently I decided to start working on a MMO version of the classic "snake" game. I wanted the entire #Stack to be based on ES6 JavaScript so for the #Backend I chose to use FeathersJS with MongoDB for game/user data storage, Redis for distributed mutex and pub/sub, and Socket.IO for real-time communication. For the #Frontend I used React with Redux.js, the FeathersJS client as well as HTML5 canvas to render the view.

See more
Michael Mota
Michael Mota
CEO & Founder at AlterEstate | 6 upvotes 7.8K views
Django
Django
Socket.IO
Socket.IO
PostgreSQL
PostgreSQL
React
React

I honestly don't know if this could help but, I'll speak from my similar experience with Django. I had to do for a client a dynamic map in real time so that users can select their seats for a specific event. In the first MVP tickets sold in less then 10 minutes, over 400 users at the same time online trying to buy the seats. (I mention this to get in the context of why I used it).

We achieved this with Django, Socket.IO, PostgreSQL and for the frontend React. With the power of Socket IO we manage to achieve a real time connection with the database with a reaaally low response time.

The drawbacks of Django are that everyone knows that Django is not really good for real-time activities but in combination with Socket.IO this can be achieve really good.

I hope that in some way I helped. 馃憤馃徏

See more
Tom Klein
Tom Klein
CEO at Gentlent | 4 upvotes 33.6K views
atGentlentGentlent
JavaScript
JavaScript
Node.js
Node.js
PHP
PHP
HTML5
HTML5
Sass
Sass
nginx
nginx
React
React
PostgreSQL
PostgreSQL
Ubuntu
Ubuntu
ES6
ES6
TypeScript
TypeScript
Google Compute Engine
Google Compute Engine
Socket.IO
Socket.IO
Electron
Electron
Python
Python

Our most used programming languages are JavaScript / Node.js for it's lightweight and fast use, PHP because everyone knows it, HTML5 because you can't live without it and Sass to write great CSS. Occasionally, we use nginx as a web server and proxy, React for our UX, PostgreSQL as fast relational database, Ubuntu as server OS, ES6 and TypeScript for Node, Google Compute Engine for our infrastructure, and Socket.IO and Electron for specific use cases. We also use Python for some of our backends.

See more
benroeder
benroeder
Socket.IO
Socket.IO

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鈥檙e 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

See more
Chris Barnett
Chris Barnett
CTO at Promethean TV | 1 upvotes 15.5K views
atPromethean TVPromethean TV
Socket.IO
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

See more

Socket.IO's Features

  • 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.

Socket.IO Alternatives & Comparisons

What are some alternatives to Socket.IO?
SignalR
SignalR allows bi-directional communication between server and client. Servers can now push content to connected clients instantly as it becomes available. SignalR supports Web Sockets, and falls back to other compatible techniques for older browsers. SignalR includes APIs for connection management (for instance, connect and disconnect events), grouping connections, and authorization.
SocketCluster
SocketCluster is a fast, highly scalable HTTP + realtime server engine which lets you build multi-process realtime servers that make use of all CPU cores on a machine/instance. It removes the limitations of having to run your Node.js server as a single thread and makes your backend resilient by automatically recovering from worker crashes and aggregating errors into a central log.
PubNub
PubNub makes it easy for you to add real-time capabilities to your apps, without worrying about the infrastructure. Build apps that allow your users to engage in real-time across mobile, browser, desktop and server.
Pusher
Pusher is the category leader in delightful APIs for app developers building communication and collaboration features.
ExpressJS
Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
See all alternatives

Socket.IO's Followers
2252 developers follow Socket.IO to keep up with related blogs and decisions.
Ahmad Fauzi
islam saeed
taha teber
Wassim bj
mahmoud atef
Fara Jituboh
Shamaru Primera
FillyNyntee3
Keith Mannock
Wouter Stemg茅e