Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

SignalR
SignalR

154
138
+ 1
49
Socket.IO
Socket.IO

3.4K
2.2K
+ 1
679
Add tool

SignalR vs Socket.IO: What are the differences?

Developers describe SignalR as "A new library for ASP.NET developers that makes developing real-time web functionality easy". 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. On the other hand, Socket.IO is detailed as "Realtime application framework (Node.JS server)". Socket.IO enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

SignalR and Socket.IO belong to "Realtime Backend / API" category of the tech stack.

"Supports .NET server" is the top reason why over 7 developers like SignalR, while over 186 developers mention "Real-time" as the leading cause for choosing Socket.IO.

SignalR and Socket.IO are both open source tools. Socket.IO with 46.7K GitHub stars and 8.53K forks on GitHub appears to be more popular than SignalR with 7.73K GitHub stars and 2.19K GitHub forks.

According to the StackShare community, Socket.IO has a broader approval, being mentioned in 555 company stacks & 385 developers stacks; compared to SignalR, which is listed in 20 company stacks and 16 developer stacks.

What is 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.

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.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose SignalR?
Why do developers choose Socket.IO?

Sign up to add, upvote and see more prosMake informed product decisions

Jobs that mention SignalR and Socket.IO as a desired skillset
What companies use SignalR?
What companies use Socket.IO?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with SignalR?
What tools integrate with Socket.IO?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to SignalR and Socket.IO?
Firebase
Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds.
RabbitMQ
RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
Pusher
Pusher is the category leader in delightful APIs for app developers building communication and collaboration features.
WebRTC
It is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple JavaScript APIs. The WebRTC components have been optimized to best serve this purpose.
MQTT
It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.
See all alternatives
Decisions about SignalR and Socket.IO
No stack decisions found
Interest over time
Reviews of SignalR and Socket.IO
No reviews found
How developers use SignalR and Socket.IO
Avatar of Tony Manso
Tony Manso uses Socket.IOSocket.IO

I use Socket.IO because using HTTP requests for a real-time multiplayer game just blows! Even with websockets, I had to scrunch the data being transmitted down to a bare minimum, and do some cheap compression tricks so that I can send data in JSON format. Otherwise, I would have to resort to sending binary data. I may end up doing that anyway when the time comes that I need to scale.

How do I use it? Each client opens a socket connection at startup. The server keeps track of these connections, and sends each client the visible portion of the Playfield repeatedly. The clients render this information, while sending requests and commands to the server (join,turn,fire,thrust,bomb,viewport change,etc.) in response to the player's actions. The server uses that to make adjustments to the player's ship on the Playfield.

Avatar of Trello
Trello uses Socket.IOSocket.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’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.

Avatar of Kent Steiner
Kent Steiner uses Socket.IOSocket.IO

Socket.IO has a decent community footprint, including integrations with popular JS frameworks, and has fallbacks to maintain an app's services if websockets are not available for some reason. Websockets are an important factor in most of the web-facing apps I build, to provide asynchronous two-way communication between the app and whatever server or data source it is connected to.

Avatar of Andrew Gatenby
Andrew Gatenby uses Socket.IOSocket.IO

Another one that we're not using, yet. But have realtime data updates within our applications and the central API will be a great bit of functionality that gives our clients more control and keep them informed of changes and updates in their stores, in real time.

Avatar of AngeloR
AngeloR uses Socket.IOSocket.IO

Socket.io is used as our current multiplayer engine. The existing engine is very simplistic and only utilizes the websocket+http fallback transports and serves as a generic world/zone/screen grouping mechanism for displaying users to each other.

Avatar of Tuomas Hietanen
Tuomas Hietanen uses SignalRSignalR

All communications between client and server

Avatar of Ronnie Sunde
Ronnie Sunde uses SignalRSignalR

Communication between backend and frontend

How much does SignalR cost?
How much does Socket.IO cost?
Pricing unavailable
Pricing unavailable
News about SignalR
More news
News about Socket.IO
More news