Crates.io | networker-rs |
lib.rs | networker-rs |
version | |
source | src |
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 |
Cargo.toml error: | TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
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.