message-io
Fast and easy-to-use event-driven network library. (by lemunozm)
tungstenite-rs
Lightweight stream-based WebSocket implementation for Rust. (by snapview)
message-io | tungstenite-rs | |
---|---|---|
15 | 15 | |
1,036 | 1,719 | |
- | 1.3% | |
5.8 | 7.1 | |
3 months ago | 7 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
message-io
Posts with mentions or reviews of message-io.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-10-23.
-
Looking for help deciding which library to use for networking
message-io: a networking library meant to be very simple, built on mio.
-
Crate to build network packets over UDP
Another one I know about, but have not looked into yet, is message-io.
- Is there a proper websockets server framework in Rust?
-
Netty-rs - small rust library to easily write server/client networking protocols at application level
I'm working in a transport network library that possible fits as a building block for yours and solves the problem of using different underlying transports: message-io
-
Announcing message-io 0.12 - an event-driven message library to build network applications easy and fast. Now with zero-copy write/read messages. Performance close to using native OS socket with all the facilities the library offers.
Here is benchmarks
-
Someone built a chat backend with Rust for a production website?
I think https://github.com/lemunozm/message-io can be a good candidate.
-
message-io: an event-driven message library to build network applications easy and fast. Now with WebSocket support
The idea behind message-io is not to populate a current transport with a lot of options/profiles/modifications... this obfuscates the default way of working with it. Instead, if you want to build some behaviour on top of it, it is as easy as making an adapter! Following this pattern, you can split the way of using the library from the behaviour of the transport, keeping the things simple.
-
termchat: Terminal chat application on LAN with file transfer and ASCII webcam video streaming support. Built on top of tui-rs and message-io crates
The initial purpose was to show the capabilities of https://github.com/lemunozm/message-io Nevertheless, Termchat is growing and needs to polish some of its features. At this point it is not for real-world use but I hope to reach this target.
tungstenite-rs
Posts with mentions or reviews of tungstenite-rs.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-24.
-
Help with Minimal Websocket Connection
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:
-
[I made this] – staticPi – websocket forwarder
staticpi, is a websocket forwarding service. Basically, it enables one to keep a Raspberry pi, or any computer, “connected”, in order to send and receive messages to and from any client, without having to deal with a static IP address, open ports on your router, or similar. Built in Rust, using axum, which in turn uses tungestine-rs for the websocket connections, tokio, sqlx, redis-rs and others.
-
What crate to use to make a WebSocket client
There is a client module and client examples. If using tokio, there is tokio-tungstenite on top, which has various client functions.
-
The most creative, funny, clever, ridiculous, ... library names!
tungstenite: "Lightweight stream-based WebSocket implementation. It's formerly WS2, the 2nd implementation of WS. WS2 is the chemical formula of tungsten disulfide, the tungstenite mineral."
- WebTorrent
-
What's the best production-grade websocket library in Rust?
tungstenite-rs
- Surprising Things You Didn't Know About HTTP
-
Secure Websocket Client
If you just want to connect to an existing api, async-tungstenite has a connect function. It should work with wss. See some discussion of this issue here.
- The hack that improves your tungstunite-rs performance by 160x
- Is there a proper websockets server framework in Rust?
What are some alternatives?
When comparing message-io and tungstenite-rs you can also consider the following projects:
MIO - Metal I/O library for Rust.
rust-websocket - A WebSocket (RFC6455) library written in Rust
Netty - Netty project - an event-driven asynchronous network application framework
ws-rs - Lightweight, event-driven WebSockets for Rust.
laminar - A simple semi-reliable UDP protocol for multiplayer games
Rocket - A web framework for Rust.
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
Warp - Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
criterion.rs - Statistics-driven benchmarking library for Rust
sockjs
warp - A super-easy, composable, web server framework for warp speeds.