6个版本
0.1.5 | 2024年5月6日 |
---|---|
0.1.4 | 2024年4月23日 |
#1613 in 网络编程
每月263次下载
44KB
876 行
mptcp-rs
创建多路径TCP (MPTCP)套接字的辅助crate。
特性
该crate目前支持
用法
创建MPTCP流
use mptcp::MptcpStreamExt;
let stream = TcpStream::connect_mptcp("www.google.com:443").unwrap();
connect_mptcp
方法处理在系统上不可用MPTCP时回退到TCP套接字。如果需要使用MPTCP,请使用connect_mptcp_force
。
创建MPTCP监听器
use mptcp::MptcpListenerExt;
let listener = TcpListener::bind_mptcp("localhost:8080").unwrap();
类似于Stream。在系统上不可用MPTCP时,bind_mptcp
方法处理回退到TCP套接字。如果需要使用MPTCP,请使用bind_mptcp_force
。
使用into_socket()
检索TcpStream
或TcpListener
以在现有库中重用。MPTCP套接字提供与TCP套接字相同的API。
您还可以使用以下方法检查是否使用了底层MPTCP套接字
use mptcp::{MptcpExt, MptcpStatus};
let stream : TcpStream = ...;
println!("stream uses mptcp: {}", matches!(stream.mptcp_status(), MptcpStatus::Mptcp { .. }));
可以通过功能启用Tokio支持:tokio
。用法与std lib类似,通过导入mptcp::tokio::MptcpStreamExt
。
许可协议
本项目采用MIT许可协议。
依赖关系
~2–34MB
~486K SLoC