8个版本 (4个重大更改)

0.5.0 2024年1月23日
0.4.1 2023年4月19日
0.4.0 2023年3月21日
0.3.1 2022年10月27日
0.1.0 2019年3月23日

#1762 in 网络编程

每月48次下载
mc-server-pinger中使用

MIT许可

30KB
529 代码行

craftping crates.io docs.rs license Actively Maintained

craftping 是一个用于ping Minecraft服务器的Rust库。

用法

[dependencies]
craftping = "0.5.0"

您可以使用 craftping::sync::ping 同步ping到服务器

use std::net::TcpStream;
use craftping::sync::ping;

fn main() {
    let hostname = "localhost";
    let port = 25565;
    let mut stream = TcpStream::connect((hostname, port)).unwrap();
    let pong = ping(&mut stream, hostname, port).expect("Cannot ping server");
    println!("Ping result: {:?}", pong);
}

sync 模块需要 sync 功能,该功能默认启用。

如果您想异步发送ping,可以使用 craftping::tokio::pingcraftping::futures::ping

  • craftping::tokio::ping
use tokio::net::TcpStream;
use craftping::tokio::ping;

#[tokio::main]
async fn main() {
    let hostname = "localhost";
    let port = 25565;
    let mut stream = TcpStream::connect((hostname, port)).await.unwrap();
    let pong = ping(&mut stream, hostname, port).await.expect("Cannot ping server");
    println!("Ping result: {:?}", pong);
}
  • craftping::futures::ping
use async_std::net::TcpStream;
use craftping::futures::ping;

#[async_std::main]
async fn main() {
    let hostname = "localhost";
    let port = 25565;
    let mut stream = TcpStream::connect((hostname, port)).await.unwrap();
    let pong = ping(&mut stream, hostname, port).await.expect("Cannot ping server");
    println!("Ping result: {:?}", pong);
}

注意,tokio 模块需要 async-tokio 功能和 futures async-futures

有关ping结果的更多信息,请参阅此处

贡献

欢迎拉取请求。对于重大问题,请首先在此仓库中打开问题。

许可

MIT

依赖

~1–3MB
~61K SLoC