mirror of
https://github.com/trafficlunar/computer-statistics.git
synced 2026-06-27 22:24:09 +00:00
feat: add websocket implementation
This commit is contained in:
parent
f2145c34b2
commit
8950e16e70
4 changed files with 322 additions and 1 deletions
|
|
@ -1,9 +1,12 @@
|
|||
use std::error::Error;
|
||||
|
||||
mod websocket;
|
||||
|
||||
fn main() -> Result<(), Box<dyn Error>> {
|
||||
dotenvy::dotenv()?;
|
||||
|
||||
println!("Hello, world!");
|
||||
let mut socket = websocket::connect().unwrap();
|
||||
websocket::send(&mut socket, 1, 1);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
|||
24
src/websocket.rs
Normal file
24
src/websocket.rs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
use std::{env, net::TcpStream};
|
||||
|
||||
use tungstenite::{stream::MaybeTlsStream, Message, WebSocket};
|
||||
|
||||
pub fn connect() -> Result<WebSocket<MaybeTlsStream<TcpStream>>, tungstenite::Error> {
|
||||
let (socket, _) = match tungstenite::connect(env::var("WEBSOCKET_URL").unwrap()) {
|
||||
Ok(ws) => ws,
|
||||
Err(err) => {
|
||||
eprintln!("Unable to connect to WebSocket");
|
||||
return Err(err);
|
||||
}
|
||||
};
|
||||
|
||||
println!("Connected to WebSocket");
|
||||
Ok(socket)
|
||||
}
|
||||
|
||||
pub fn send(socket: &mut WebSocket<MaybeTlsStream<TcpStream>>, cpu: u8, ram: u8) {
|
||||
let message = format!("{{ \"cpu\": {}, \"ram\": {} }}", cpu, ram);
|
||||
|
||||
socket
|
||||
.send(Message::Text(message))
|
||||
.unwrap();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue