一个内存使用极少的轻量级的单线程 TCP/IP 协议栈, 当前支持 IP, IPv6, ICMP, TCP, UDP.
当前只在 macOS, iOS 平台测试通过
测试平台
测试流程
数据流向示意
本机 iperf3 客户端<->pip<->tcp socket<->本机 iperf3 服务端
上传测试
~ iperf3 -c 1.1.1.1
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 7.04 GBytes 6.05 Gbits/sec sender
[ 5] 0.00-10.00 sec 7.04 GBytes 6.05 Gbits/sec receiver
下载测试
~ iperf3 -c 1.1.1.1 -R
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.01 sec 2.20 GBytes 1.88 Gbits/sec sender
[ 5] 0.00-10.00 sec 2.16 GBytes 1.86 Gbits/sec receiver
地址: https://github.com/zx1262111739/pip
不要在意名字与 Python 的 pip 重合, 由于我自己取的网名为 plumk 取首字母 p 加上 ip 得出的这个名字,所以我也不准备改.
我的 C++水平属于边写边学的那种, 对于移植 windows 和 linux 有点困难. 路漫漫其修远兮, 吾将上下而求索.
更新了checksum算法,下载速度提升了将近3倍
~ iperf3 -c 1.1.1.1 -R
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.01 sec 5.27 GBytes 4.52 Gbits/sec sender
[ 5] 0.00-10.00 sec 5.25 GBytes 4.51 Gbits/sec receiver