packets

Packets is a small library that makes writing packet-based TCP servers and clients a bit easier.

Creating a Server

```rust use packets::; use packets::server::; use std::net::SocketAddr;

// Bind the server to localhost at port 60000. let mut server = Server::bind("localhost:60000", &ServerConfig::default()).unwrap();

// Accept all incoming connections. server.accept_all();

// Receive all incoming packets, using String as our packet type. let packets: Vec<(SocketAddr, String)> = server.receive_all().unwrap(); for (addr, packet) in packets { server.send(addr, &packet); // Echo the data back to the client. }

// Close all connections to the server and consume the Server object. server.shutdown(); ```

Creating a Client

```rust use packets::; use packets::client::;

let mut client = Client::connect("localhost:60000", &ClientConfig::default());

// Receive all incoming packets. // In this example we use String as our Packet type. let packets: Vec = client.receive_all();

// Send a packet to the server, using String as our packet type for this example. client.send("Hello, world!".to_string());

// Shut this client down, consuming it.
client.shutdown(); ```