38 releases (15 breaking)
0.18.0 | Sep 7, 2024 |
---|---|
0.15.0 | Jul 26, 2024 |
0.11.0 | Feb 25, 2024 |
0.10.2 | Dec 24, 2023 |
0.1.2 | Sep 21, 2022 |
#35 in WebSocket
2,113 downloads per month
Used in 17 crates
(2 directly)
345KB
7K
SLoC
workflow-websocket
Part of the workflow-rs
application framework.
Platform-neutral WebSocket Client and native Server.
Features
- Uniform async Rust WebSocket client API that functions in the browser environment (backed by browser
WebSocket
class) as well as on native platforms (backed by Tungstenite client). - Trait-based WebSocket server API backed by Tungstenite server.
This crate allows you to develop a WebSocket client that will work uniformly in in hte native environment and in-browser.
Workflow-WebSocket crate is currently (as of Q3 2022) one of the few available async Rust client-side in-browser WebSocket implementations.
This web socket crate offers an async message send API as well as provides access to Receiver and Sender async_std channels ([async_channel])(https://docs.rs/async-channel/latest/async_channel/) that can be used to send and receive WebSocket messages asynchronously.
To use workflow-websocket
in the Node.js environment, you need to introduce a W3C WebSocket object before loading the WASM32 library
to simulate the global WebSocket
object available in Web Browsers.
The WebSocket NPM module provides W3C WebSocket compatible implementation and can
be used as follows:
// WebSocket
globalThis.WebSocket = require('websocket').w3cwebsocket;
// Load WASM32 library ...
Dependencies
~16–33MB
~524K SLoC