Centrifugo
Socket.io
Our great sponsors
Centrifugo | Socket.io | |
---|---|---|
31 | 825 | |
7,888 | 60,085 | |
1.6% | 0.4% | |
9.0 | 7.8 | |
10 days ago | 6 days ago | |
Go | TypeScript | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Centrifugo
- Millions of Active WebSockets with Node.js
-
Show HN: DriftDB is an open source WebSocket back end for real-time apps
https://github.com/centrifugal/centrifugo
It's a complete solution, including server, admin panel and client library.
We're an European company and use OVH, Hetzner and others.
-
Laravel Websockets vs Soketi vs Laravel Echo Server
Hello! Theoretically you can take a look at https://github.com/centrifugal/centrifugo - which is a standalone self-hosted real-time messaging server. It does not have native support for Laravel and not compatible with Pusher protocol, though integrating with any backend system, including Laravel: see the blog post https://centrifugal.dev/blog/2021/12/14/laravel-multi-room-chat-tutorial, also has some helper packages:
-
What is the coolest Go open source projects you have seen?
Centrifugo https://centrifugal.dev/ https://github.com/centrifugal/centrifugo
- Golang updating the front-end with almost real-time events from the backend server
- Concurrency with Gin
-
Woe be onto you for using a WebSocket
Every time I read criticism of WebSockets it reminds me about WebSuckets (https://speakerdeck.com/3rdeden/websuckets) presentation :)
I am the author of Centrifugo server (https://github.com/centrifugal/centrifugo) - where the main protocol is WebSocket. Agree with many points in post – and if there is a chance to build sth without replacing stateless HTTP to persistent WebSocket (or EventSource, HTTP-streaming, raw TCP etc) – then definitely better to go without persistent connections.
But there are many tasks where WebSockets simply shine – by providing a better UX, providing a more interactive content, instant information/feedback. This is important to keep - even if underlying stack is complicated enough. Not every system need to scale to many machines (ex. multiplayer games with limited number of players), corporate apps not really struggle from massive reconnect scenarios, and so on. So WebSockets are definitely fine for certain scenarios IMO.
I described some problems with WebSockets Centrifugo solves in this blog post - https://centrifugal.dev/blog/2020/11/12/scaling-websocket. I don't want to say there are no problems, I want to say that WebSockets are fine in general and we can do some things to deal with things mentioned in the OP's post.
- Centrifugo – self-hosted real-time messaging server with bidirectional (WebSocket, SockJS) and unidirectional transports (Eventsource, HTTP-streaming, GRPC), JSON and Protobuf protocols, builtin scalability with PUB/SUB brokers, fully universal/language-agnostic.
-
Updating flutter app data from REST API in real-time
Install Centrifugo - https://github.com/centrifugal/centrifugo
-
Just another simple, fast, and resilient open-source WebSockets server. 📣
For those who looking into Laravel WebSockets replacement give a chance to https://github.com/centrifugal/centrifugo - it proved to help a lot dealing with WebSocket connections to backends built in languages without native/performant concurrency support. So you can continue writing business logic in Laravel, but let Centrifugo deal with persistent connection management and issue real-time updates over API.
Socket.io
-
Mastering Microservices: A Hands-On Tutorial with Node.js, RabbitMQ, Nginx, and Docker
Before diving into this tutorial, if you find microservices mysterious, check out my previous article for a detailed explanation. In this hands-on tutorial, we'll build a real-time chat server using Node.js, Socket.io, RabbitMQ, and Docker. Get ready for a practical journey into the world of microservices! Let's begin.
-
Node.js Roadmap: Mastering the Essentials
Socket.io Docs
-
WebSockets Unlocked: Mastering the Art of Real-Time Communication
Now we will be implementing socket logic using socket.io for building websockets. This library provides an abstraction layer on top of WebSockets, simplifying the process of creating real-time applications. For better maintainability, it is recommended to create a separate file for socket calls. To do this, navigate to the src folder, create a folder named services, and inside it, create a file named socket.ts under the services folder.
-
Socket io not working on deployed version
Hi I made a chat app using socket.io it worked fine locally but when i deployed the app on render.com socket is not working properly i have to refresh the page to see new messages please help...
-
I've been working on this project for at least a decade...
No, not a library. More like, the frontend and backend just happen to need the same version to be compatible (socket.io is a good example, moment.js was the most basic I could think of).
-
Supercharging Your App Development: Unleashing the Full Potential of React Native
For apps that require real-time communication, Socket.IO can be a valuable addition. It enables bidirectional, event-based communication between the server and client, making it an ideal choice for implementing real-time chat features.
-
Best NodeJS frameworks for seamless backend development
Community stats: Socket.IO has a community with 59.2k stars and 10.2k forks on GitHub.
Socket.IO is a NodeJS framework built on top of WebSockets that enables realtime client-server communication. Socket.IO is event-driven and compatible with older browsers and environments.
-
Socketioxide v0.7.0 release! (socket.io server implementation as a tower service/layer)
I'm glad to announce the version 0.7.0 of my library socketioxide! It is a socket.io server implementation working as a tower layer/service. Therefore it integrates with any hyper based http framework like salvo, axum, warp or hyper itself.
-
🔥🚀 Top 10 Open-Source Must-Have Tools for Crafting Your Own Chatbot 🤖💬
Check the quickstart of Socket.io. Support Socket.io on GitHub ⭐
What are some alternatives?
Primus - :zap: Primus, the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in.
SocketCluster - Highly scalable realtime pub/sub and RPC framework
peerjs - Simple peer-to-peer with WebRTC.
NATS - Golang client for NATS, the cloud native messaging system.
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
Mercure - 🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications
SockJS - WebSocket emulation - Node.js server
Confluent Kafka Golang Client - Confluent's Apache Kafka Golang client
deepstream.io - deepstream.io server
laravel-websockets - Websockets for Laravel. Done right.
Pusher - Ruby library for Pusher Channels HTTP API