| Crates.io | networker-rs |
| lib.rs | networker-rs |
| version | 0.1.5 |
| created_at | 2025-01-21 04:52:21.970025+00 |
| updated_at | 2025-01-26 18:17:35.25774+00 |
| description | A Rust library providing TCP, UDP, and HTTP easier calls. |
| homepage | https://github.com/OrtheSnowJames/networker-rs |
| repository | https://github.com/OrtheSnowJames/networker-rs |
| max_upload_size | |
| id | 1524573 |
| size | 39,267 |
networker-rs is a Rust library that provides networking utilities for TCP, UDP, WebSocket, and HTTP functionalities, inspired by Go's net package and JavaScript's socket.io. It simplifies common networking tasks and enables event-driven networking with an easy-to-use API.
Latest update: Made newline delimiters
TCP Support
UDP Support
WebSocket Support
HTTP Support
Add the following to your Cargo.toml:
[dependencies]
networker-rs = "0.2.0" # Replace with the latest version
use networker_rs::net::EasySocketServer;
fn main() {
let server = EasySocketServer::new();
server.on("connection", |socket| {
socket.on("hello, server", |msg| {
println!("Server received: {}", msg);
});
socket.emit("hello, client!");
socket.listen_tcp();
});
server.listen_tcp("127.0.0.1:7878").unwrap();
}
use networker_rs::net::EasySocketServer;
fn main() {
let server = EasySocketServer::new();
server.on("connection", |socket| {
socket.on("hello, server", |msg| {
println!("Server received: {}", msg);
});
});
server.listen_udp("127.0.0.1:8888").unwrap();
}
use networker_rs::net::EasySocketServer;
fn main() {
let server = EasySocketServer::new();
server.on("connection", |socket| {
socket.on("hello, WebSocket server", |msg| {
println!("Server received: {}", msg);
});
});
server.listen_ws("127.0.0.1:9001").unwrap();
}
use networker_rs::net::EasySocketServer;
#[tokio::main]
async fn main() {
let server = EasySocketServer::new();
server.listen_http("127.0.0.1:8080").await.unwrap();
}
You can also get socket ids by doing either
// client side
fn client() {
// ... bootstrapping code ...
let sockID = client.id()
}
// server side
fn server() {
// ... code up until sever.on
let clientID = socket.id()
}
This project is licensed under the MIT License. See the LICENSE file for details.