Faye vs Pusher vs Socket.IO




- No public GitHub repository available -

What is Faye?

Faye is a set of tools for simple publish-subscribe messaging between web clients. It ships with easy-to-use message routing servers for Node.js and Rack applications, and clients that can be used on the server and in the browser.

What is Pusher?

Pusher is the category leader in delightful APIs for app developers building communication and collaboration features.

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 Faye?
Why do developers choose Pusher?
Why do developers choose Socket.IO?
What are the cons of using Faye?
What are the cons of using Pusher?
What are the cons of using Socket.IO?
    Be the first to leave a con
      Be the first to leave a con
      What companies use Faye?
      What companies use Pusher?
      What companies use Socket.IO?
      What are some alternatives to Faye, Pusher, and Socket.IO?
      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.
      Google Cloud Pub/Sub
      Cloud Pub/Sub is a fully-managed real-time messaging service that allows you to send and receive messages between independent applications. You can leverage Cloud Pub/Sub’s flexibility to decouple systems and components hosted on Google Cloud Platform or elsewhere on the Internet.
      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.
      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.
      Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. This forms a great base for building modern, reliable, and scalable cloud and distributed systems.
      See all alternatives
      What tools integrate with Faye?
      What tools integrate with Pusher?
      What tools integrate with Socket.IO?
        No integrations found
          No integrations found
          Decisions about Faye, Pusher, and Socket.IO
          No stack decisions found
          Interest over time
          Reviews of Faye, Pusher, and Socket.IO
          No reviews found
          How developers use Faye, Pusher, 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 Nathan Heffley
          Nathan Heffley uses PusherPusher

          In the original prototype all the communication was handled by a backend server. Each client connected directly to the server using the socket.io library. This quickly proved to be messy and unreliable, especially on the cheap server being used to host it.

          Websockets proved to be a little more reliable, but still just as messy and not all browsers support them. That's when the project was switched over to use Pusher. Using Pusher has allowed all but the initial connection code to be off-loaded onto the client. Now instead of communicating through a self-hosted server, clients can communicate pretty much peer-to-peer over Pusher.

          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 Gustavo Leon
          Gustavo Leon uses FayeFaye

          Faye is in charge to send and receive any instruction and message logged between our users' devices and their Dashboard.

          Avatar of Jewel Mahanta
          Jewel Mahanta uses PusherPusher

          Pusher is used to send update notification whenever Lapzbot joins a server.

          Avatar of Vamsi Krishna
          Vamsi Krishna uses PusherPusher

          Push real-time updates

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