A versatile websocket client that supports many cryptocurrency exchanges.
```rust use cryptowsclient::{BinanceSpotWSClient, WSClient};
fn main() { let (tx, rx) = std::sync::mpsc::channel(); let thread = std::thread::spawn(move || { for msg in rx { println!("{}", msg); } }); let mut wsclient = BinanceSpotWSClient::new(tx, None); let channels = vec!["btcusdt@aggTrade".tostring(), "btcusdt@depth".tostring(),]; wsclient.subscribe(&channels); wsclient.run(None); wcclient.close(); drop(ws_client); thread.join().unwrap(); } ```
src/clients/
Define a struct in the file, with the same name as the file.
Define a channels_to_commands()
function which can convert raw channels to subscribe/unsubscribe commands.
Define a customized on_misc_msg()
to handle misc messages.
Use define_client!
macro to implement the WSClient
trait.
tests/
Add a new file under tests/
and put some integration tests in it.