client/
client.rs

1use log2::*;
2use ws2::{Pod, WebSocket};
3
4struct Worker;
5
6impl ws2::Handler for Worker {
7    fn on_open(&mut self, ws: &WebSocket) -> Pod {
8        // ws.send("Hello World")?;
9        info!("on open: {ws}");
10        Ok(())
11    }
12
13    fn on_close(&mut self, ws: &WebSocket) -> Pod {
14        info!("on close: {ws}");
15        Ok(())
16    }
17
18    fn on_message(&mut self, ws: &WebSocket, msg: String) -> Pod {
19        info!("on message: {msg}, {ws}");
20        Ok(())
21    }
22}
23
24fn main() -> Pod {
25    let _log2 = log2::start();
26    let url = "wss://stream.binance.com:9443/ws/btcusdt@miniTicker";
27    let mut client = ws2::connect(url)?;
28    let mut workder = Worker {};
29
30    loop {
31        let _ = client.process(&mut workder, 0.5);
32        // do other stuff
33    }
34}