[crates-badge]: https://img.shields.io/crates/v/websock.svg
[crates-url]: https://crates.io/crates/websock
[doc-url]: https://docs.rs/websock/latest/websock
[license-badge]: https://img.shields.io/crates/l/websock.svg
[examples-url]: https://github.com/foctal/websock/tree/main/websock/examples
# websock [![Crates.io][crates-badge]][crates-url] ![License][license-badge]
A minimal WebSocket library for native and WebAssembly.
## Workspace crates
- `websock`: top-level facade that selects native (`websock-tungstenite`) or WASM (`websock-wasm`).
- `websock-proto`: shared protocol types and frame handling.
- `websock-tungstenite`: native transport powered by `tokio` + `tungstenite` (optional TLS via `rustls`).
- `websock-wasm`: browser transport using the WebSocket API.
- `websock-wasm-demo`: small browser demo.
## Quick start
```toml
[dependencies]
websock = "0.1"
```
If you want to depend on a specific transport directly, use the crates
above instead of `websock`.
### Native
See [examples][examples-url].
### WebAssembly
The `websock-wasm-demo` crate contains a small browser demo that connects to an echo server.