Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 5 rfc-6455 Open-Source Projects
-
websocat
Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Before setting up a WebSocket server in Node.js, we need to install the necessary dependencies. Fortunately, Node.js has a vibrant ecosystem with various WebSocket libraries available. In this article, we will focus on using the popular ws library, which provides a simple and efficient WebSocket implementation for Node.js.
Project mention: Show HN: ScaleSocket – Turn any script into a multiplayer WebSocket server | news.ycombinator.com | 2023-09-20It's similar to running netcat in server mode, wrapping a script. It's even closer to doing that using websocat [1], whereby one does not have to do the websocket header juggling.
The main difference is that while netcat or websocat will spawn a new process for each connecting client, ScaleSocket has a concept of rooms (channels). For a room, a process is spawned once only. All clients connecting to the same room are routed to the same process. This is not straight forward to do using the forementioned tools.
There's a small comparison page [2] where I have mentioned some alternative tools.
[1] https://github.com/vi/websocat
Then take a look at this article - https://www.freecodecamp.org/news/million-websockets-and-go-cc58418460bb/ - using external from Go std lib epoll implementation and https://github.com/gobwas/ws lib it's possible to reduce memory usage per connection drastically. Though keep in mind that this approach is not obvious to implement right and you better to go with STD lib.
I'd just mitigated this exact thing in Bandit last month!
https://github.com/mtrudel/bandit/blob/main/lib/bandit/http2...
TBH, from an implementors perspective this is a super obvious thing to cover off. It had long been on my radar and was something that I'd always figured other implementations had defended against as well.
rfc-6455 related posts
- Setting up a WebSocket server in Node.js
- WebSockets 101
- Release v1.2.0 · gobwas/ws - WebSocket library for Go.
- WebSocket library for Go – gobwas/ws – Release v1.2.0
- Render.com and Websocket: Connection randomly being closed after 5-ish minutes?
- Quick introduction to WebSockets with Node.js
- How to save a websocket created using ws to redis?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 27 Apr 2024
Index
What are some of the best open-source rfc-6455 projects? This list will help you:
Project | Stars | |
---|---|---|
1 | ws | 21,036 |
2 | websocat | 6,511 |
3 | ws | 5,950 |
4 | websocket-client | 3,461 |
5 | bandit | 1,543 |
Sponsored