use message_io::network::{Network, NetEvent, Transport};
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
enum Message {
Hello(String),
}
fn main() {
let (mut network, mut events) = Network::split();
network.listen(Transport::Tcp, "0.0.0.0:3042").unwrap();
network.listen(Transport::Udp, "0.0.0.0:3043").unwrap();
network.listen(Transport::Ws, "0.0.0.0:3044").unwrap();
loop {
match events.receive() { NetEvent::Message(endpoint, message) => match message {
Message::Hello(msg) => {
println!("Received: {}", msg);
network.send(endpoint, Message::Hello(msg));
},
},
NetEvent::Connected(_endpoint) => println!("Client connected"), NetEvent::Disconnected(_endpoint) => println!("Client disconnected"), NetEvent::DeserializationError(_) => (),
}
}
}