tcpnet 0.1.1

A simple TCP-based message transport for games that runs on Tokio
Documentation
  • Coverage
  • 70.37%
    19 out of 27 items documented0 out of 19 items with examples
  • Size
  • Source code size: 31.51 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 3.55 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 36s Average build duration of successful builds.
  • all releases: 36s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • bakane6030/tcpnet
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • TaeKwonZeus

tcpnet

A simple tick-based TCP message transport for games that runs on Tokio. The client and server provide send() and receive() methods to send data and poll events respectively.

Server usage example:

use tcpnet::server::{Event, Server};

fn main() {
    let mut server = Server::new();
    server.start(7000);
    assert!(server.running());

    // Process events on every tick
    for event in server.received().unwrap() {
        match event {
            Event::Connect(addr) => println!("{} connected", addr),
            Event::Disconnect(addr) => println!("{} disconnected", addr),
            Event::Data(addr, data) => {
                println!("{}: {}", addr, std::str::from_utf8(&data).unwrap());
                server.send(addr, "Hello back!".as_bytes().to_vec())?;
            }
        }
    }
}

Client usage example:

use tcpnet::client::{Event, Client};

fn main() {
    let mut client = Client::new();
    client.start("127.0.0.1:7000");
    assert!(server.running());

    // Process events on every tick/frame
    for event in server.received().unwrap() {
        match event {
            Event::Disconnect => println!("Disconnected from server"),
            Event::Data(data) => println!("Server: {}", addr, std::str::from_utf8(&data).unwrap()),
        }
    }
}