Crates.io | ng-async-tungstenite |
lib.rs | ng-async-tungstenite |
version | 0.22.2 |
source | src |
created_at | 2024-05-22 02:26:29.866684 |
updated_at | 2024-05-22 02:26:29.866684 |
description | fork of async-tungstenite for NextGraph.org |
homepage | https://github.com/sdroege/async-tungstenite |
repository | https://github.com/sdroege/async-tungstenite |
max_upload_size | |
id | 1247421 |
size | 178,372 |
Asynchronous WebSockets for async-std,
tokio, gio and any std
Future
s runtime.
Add this in your Cargo.toml
:
[dependencies]
async-tungstenite = "*"
Take a look at the examples/
directory for client and server examples. You
may also want to get familiar with async-std or
tokio if you don't have any experience with it.
This crate is based on tungstenite
Rust WebSocket library and provides async bindings and wrappers for it, so you
can use it with non-blocking/asynchronous TcpStream
s from and couple it
together with other crates from the async stack. In addition, optional
integration with various other crates can be enabled via feature flags
async-tls
: Enables the async_tls
module, which provides integration
with the async-tls TLS stack and can
be used independent of any async runtime.async-std-runtime
: Enables the async_std
module, which provides
integration with the async-std runtime.async-native-tls
: Enables the additional functions in the async_std
module to implement TLS via
async-native-tls.tokio-runtime
: Enables the tokio
module, which provides integration
with the tokio runtime.tokio-native-tls
: Enables the additional functions in the tokio
module to
implement TLS via tokio-native-tls.tokio-rustls-native-certs
: Enables the additional functions in the tokio
module to implement TLS via tokio-rustls
and uses native system certificates found with
rustls-native-certs.tokio-rustls-webpki-roots
: Enables the additional functions in the tokio
module to implement TLS via tokio-rustls
and uses the certificates webpki-roots
provides.gio-runtime
: Enables the gio
module, which provides integration with
the gio runtime.WebSocket provides a message-oriented protocol, and this crate supports sending
and receiving data in messages; protocols built on WebSocket are allowed to
make message boundaries semantically significant. However, some users of
WebSocket may want to treat the socket as a continuous stream of bytes. If you
know the sending end does not place significance on message boundaries, and you
want to process a stream of bytes without regard to those boundaries, try
ws_stream_tungstenite
,
which builds upon this crate.
Originally this crate was created as a fork of
tokio-tungstenite and ported
to the traits of the futures
crate.
Integration into async-std, tokio and gio was added on top of that.