Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge. Learn more →
Top 13 Rust Websocket Projects
-
-
websocat
Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions
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.
-
Revelo Payroll
Free Global Payroll designed for tech teams. Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.
-
Project mention: Building a privacy-friendly, self-hosted application architecture with SvelteKit | dev.to | 2023-07-16
For realtime, I used Pushpin with Server Sent Events. (It supports WebSocket as well).
-
You can start by following tungstenite-rs client example. And since you are connecting to an tls enabled endpoint you should enable tls features. And according to your API's doc it requires you to send serialized json string for requesting message response and you can use serde ande serde_json for serialization. This is a complete example where a hardcode string request:
-
tokio-tungstenite
Future-based Tungstenite for Tokio. Lightweight stream-based WebSocket implementation
It passed all test of the autobahn testsuite And web-socket-benchmark show about 3x faster then tokio-tungstenite
-
-
async-tungstenite
Async binding for Tungstenite, the Lightweight stream-based WebSocket implementation
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
Check out ezsockets by /u/gbaranski. I also switched to Axum due to its WS support, in Actix it seems you need another crate and it's not really interoperable with the Tokio ecosystem generally, such as with tungstenite.
-
-
Project mention: mezzenger - message passing over the network (and network-like interfaces) made easy | /r/rust | 2022-12-09
-
rust_chat_server
A very small, very dumb and very bad chat server to send messages in a common place for every participant.
-
Project mention: A rust newbie wrote a websocket client library based on Deno's fastwebsockets. | /r/rust | 2023-08-24
-
remotegamepad-server
A Free and Open source application that turns your mobile device into a remote gamepad for your computer. This is the server.
Rust Websockets related posts
- Show HN: ScaleSocket – Turn any script into a multiplayer WebSocket server
- Help with Minimal Websocket Connection
- I made a site that tracks the price of eggs at every US Walmart. The most expensive costs 3.4X more than the cheapest.
- GoLogin and python/selenium
- WebSockets in Curl
- Should i use ws-rs?
- How would you refactor this code to use std's Mutex instead of Tokio's mutex
-
A note from our sponsor - InfluxDB
www.influxdata.com | 4 Oct 2023
Index
What are some of the best open-source Websocket projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | actix-web | 18,615 |
2 | websocat | 5,941 |
3 | pushpin | 3,320 |
4 | tungstenite-rs | 1,538 |
5 | tokio-tungstenite | 1,390 |
6 | ntex | 1,285 |
7 | async-tungstenite | 367 |
8 | ezsockets | 166 |
9 | ws_stream_wasm | 86 |
10 | mezzenger | 11 |
11 | rust_chat_server | 2 |
12 | fast_websocket_client | 2 |
13 | remotegamepad-server | 1 |