Expand description
raknet-rust is an asynchronous RakNet transport library.
The crate exposes two API layers:
- High-level application API:
server,client,listener,connection - Low-level protocol/session/transport API:
low_level
§Quick Start (Server)
use raknet_rust::server::{RaknetServer, RaknetServerEvent};
#[tokio::main(flavor = "current_thread")]
async fn main() -> std::io::Result<()> {
let mut server = RaknetServer::bind("0.0.0.0:19132".parse().unwrap()).await?;
while let Some(event) = server.next_event().await {
if let RaknetServerEvent::Packet { peer_id, payload, .. } = event {
server.send(peer_id, payload).await?;
}
}
Ok(())
}§Quick Start (Client)
use raknet_rust::client::{RaknetClient, RaknetClientEvent};
#[tokio::main(flavor = "current_thread")]
async fn main() -> std::io::Result<()> {
let mut client = RaknetClient::connect("127.0.0.1:19132".parse().unwrap()).await?;
while let Some(event) = client.next_event().await {
match event {
RaknetClientEvent::Connected { .. } => {
client.send(&b"hello"[..]).await?;
}
RaknetClientEvent::Packet { .. } => break,
RaknetClientEvent::Disconnected { .. } => break,
_ => {}
}
}
Ok(())
}Re-exports§
pub use connection::Connection;pub use connection::ConnectionCloseReason;pub use connection::ConnectionId;pub use connection::ConnectionIo;pub use connection::ConnectionMetadata;pub use connection::RecvError;pub use error::ConfigValidationError;pub use error::DecodeError;pub use error::EncodeError;pub use listener::Incoming;pub use listener::Listener;pub use listener::ListenerMetadata;pub use low_level::protocol::ConnectedControlPacket;pub use low_level::protocol::Reliability;pub use low_level::protocol::Sequence24;pub use low_level::session::RakPriority;pub use low_level::transport::EventOverflowPolicy;pub use low_level::transport::ShardedRuntimeConfig;pub use low_level::transport::TransportConfig;pub use low_level::transport::TransportMetricsSnapshot;
Modules§
- client
- High-level client API.
- connection
- Per-peer connection API returned by
crate::listener::Listener. - error
- event
- handshake
- listener
- Listener-oriented API built on top of
crate::server::RaknetServer. - low_
level - Advanced low-level API surface.
- proxy
- server
- High-level server API.
- telemetry