PubNub vs SignalR vs Socket.IO

PubNub
PubNub

109
25
224
SignalR
SignalR

123
11
49
Socket.IO
Socket.IO

2.8K
50
669
- No public GitHub repository available -

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

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?

Socket.IO enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose PubNub?
Why do developers choose SignalR?
Why do developers choose Socket.IO?
What are the cons of using PubNub?
What are the cons of using SignalR?
What are the cons of using Socket.IO?
    Be the first to leave a con
    What companies use PubNub?
    What companies use SignalR?
    What companies use Socket.IO?
    What are some alternatives to PubNub, SignalR, and Socket.IO?
    Pusher
    Pusher is the category leader in delightful APIs for app developers building communication and collaboration features.
    SendBird
    SendBird is a Messaging SDK, Chat API, and fully managed chat infrastructure for your mobile apps and websites. Embeddable chat for iOS, Android, JavaScript, Unity, .NET.
    Kafka
    Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
    ably
    It enables any internet enabled device on the planet to publish data streams to any number of subscribers in milliseconds. Our infrastructure spans over 20 data centres globally ensuring low latency performance, redundant storage of all data and commitment to meet our guaranteed quality of service promise.
    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.
    See all alternatives
    What tools integrate with PubNub?
    What tools integrate with SignalR?
    What tools integrate with Socket.IO?
      No integrations found
        No integrations found
        Decisions about PubNub, SignalR, and Socket.IO
        No stack decisions found
        Interest over time
        Reviews of PubNub, SignalR, and Socket.IO
        Avatar of gdi2290
        Co-Founder and CTO at Tipe
        Review ofPubNubPubNub

        PubNub is my goto solution for when I want to use sockets at scale. They have redundant data centers in 14 regions with 99.999% SLA allowing me to build realtime apps for any platform. Also Stephen (PubNub CTO) is Awesome!

        How developers use PubNub, 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 Volkan Özçelik
        Volkan Özçelik uses PubNubPubNub

        Using websockets is something, scaling a message pipeline to thousands of concurrent connections is something else.

        I trust PubNub with what it does best, and use it as zerotoherojs.com ’s messaging pipeline.

        With PubNub, I have one less problem to think about.

        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 Flutter Health Inc.
        Flutter Health Inc. uses PubNubPubNub

        Flutter uses PubNub for sending push notifications when the users add new posts to the Flutter Community or leave comments.

        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 PubNub cost?
        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