iPhone iperf打流

1 阅读5分钟

iOS 侧用 iperf3 打的是 Wi‑Fi/热点吞吐,不是 HCI。工程里没有内置 iperf,要在手机上另开 App,对端用命令行或者iperf应用。

 

准备

端工具来源
iPhone / iPadApp Store 搜 iPerf3,选能当 Server + Client 的(例如 iPerf3 客户端与服务器)App Store 官方
Macbrew install iperf3Homebrew 官方
OPPO工程机/测试包里的 iperf3,或 Google Play 的 Magic iPerf官方商店;不要下不明 APK

iPhone 首次打开 App:允许 本地网络。测试时 App 必须在前台,不要锁屏。

 

三种拓扑(按互传场景选)

A. OPPO 连 iPhone 热点(最常用)

  1. iPhone 开个人热点,iperf App 开 Server,端口 5201。
  2. OPPO 连上热点后看网关,一般是 172.20.10.1(就是 iPhone)。
  3. OPPO 当 Client:
# TCP,测 30s,每秒打一行(对齐互传 HTTP 大流)
iperf3 -c 172.20.10.1 -p 5201 -t 30 -i 1


# 反向:iPhone → OPPO(模拟 iOS 发文件)
iperf3 -c 172.20.10.1 -p 5201 -t 30 -i 1 -R


# 多流打满(Wi‑Fi 单流经常打不满)
iperf3 -c 172.20.10.1 -p 5201 -t 30 -P 4

B. iPhone 连 OPPO 热点(SoftAP)

  1. OPPO 开热点,跑 Server:iperf3 -s -p 5201
  2. iPhone 连上,看对端 IP(常见 192.168.43.1 / 192.168.0.1)
  3. iPhone App 当 Client,填这个 IP,端口 5201

C. 同网 WLAN(办公室 Wi‑Fi)

两端都连同一 AP,一侧 Server、一侧 iperf3 -c <对端IP>。这测的是办公室 AP,不是 互传 SoftAP 路径。

 

参数怎么对互传

目的建议
对标互传 TCP 文件流TCP,-t 30,先 -P 1 再 -P 4
对标同网 UDP 测速失败UDP:iperf3 -c -u -b 50M -t 15,看丢包/抖动
模拟 iOS → OPPO 发文件Client 在 OPPO,加 -R(Server=iPhone 往外推)
模拟 OPPO → iOS 发文件Client 在 OPPO,不加 -R(OPPO 往 iPhone 推)

不要用 Speedtest / 浏览器测网:那走的是蜂窝或外网,和互传链路不是一条路。

 

读结果时注意

  • 看 receiver bitrate,不要只看 sender。
  • iPhone 热点开了 最大兼容性 时多半是 2.4G,iperf 往往只有几~十几 Mbps,和互传 wlanResult=0 回退 SoftAP 对得上。
  • 关掉最大兼容性、热点升 5G 后再打一轮,对比才有意义。
  • 一端在热点 NAT 后面时,Server 放在开热点的那台(iPhone=172.20.10.1),Client 连网关;反过来经常连不上。

 

OPPO 开热点,跑 Server:iperf3 -s -p 5201 -->怎么操作

这是 OPPO 当热点 + iperf3 Server 的实操。Server 必须一直挂着,关掉终端或退到后台,iPhone 就连不上。

 

1. 开热点

 

  1. OPPO:设置 → 个人热点(有的版本在 连接与共享 / 更多连接)。

  2. 打开 个人热点。

  3. 建议:频段选 5GHz(不要最大兼容/仅 2.4G),记下 SSID、密码。

  4. 确认控制中心热点图标已亮。

 

先开热点,再起 Server。热点一关,网关 IP 会变。

 

2. 查热点 IP(给 iPhone 填)

 

电脑 USB 连 OPPO,开 USB 调试:

 


adb devices

adb shell ip addr | grep -A2 '192.168'

 

看 ap0 / wlan1 / softap0 上的地址。ColorOS SoftAP 常见是 192.168.43.1,以实际为准。

 

没有 adb 时:iPhone 连上该热点后,看 Wi‑Fi 详情里的 路由器/网关,那个就是 Server IP。

 

3. 起 Server:iperf3 -s -p 5201

 

方式 A:adb(实验室优先)

 

先看机子上有没有:

 


adb shell iperf3 -v

 

有版本号就直接:

 


adb shell iperf3 -s -p 5201

 

成功时终端会停住,类似:

 


-----------------------------------------------------------

Server listening on 5201

-----------------------------------------------------------

 

这扇窗口不要关,不要按 Ctrl+C,手机不要锁屏(可先开「充电时保持唤醒」)。

 

没有 iperf3 命令时,不要下不明 APK。改用方式 B。

 

方式 B:手机 App(无命令行时)

 

  1. 到 Google Play 装官方 Magic iPerf(或 OPPO 软件商店里能搜到的 iperf3)。

  2. 模式选 Server。

  3. Port 填 5201,协议 TCP。

  4. 点 Start / Listen。

  5. App 留在前台。

 

4. iPhone 侧怎么打

 

  1. iPhone 连这个 OPPO 热点。

  2. 打开 iPerf3 App,当 Client。

  3. Server 填刚才的 IP(例如 192.168.43.1),端口 5201。

  4. 先 TCP、30 秒、1 条流。

 

对端一连上,OPPO 那侧会刷:

 


Accepted connection from 192.168.43.x

[ ID] Interval   Transfer   Bitrate

 

5. 常见卡住

 

| 现象 | 处理 |

|---|---|

| iperf3: not found | 系统没带二进制,改用 Play 官方 App |

| iPhone 连不上 5201 | Server 窗口已关 / App 进后台;或填错 IP(要用网关,不是 iPhone 自己的 IP) |

| 能连热点但不能测速 | 热点开在 2.4G;或 Server 绑到了别的网卡,先关 STA Wi‑Fi 再只开热点 |

| 测到 0 或秒断 | OPPO 省电杀后台;充电 + 前台 + adb 窗口别断 |

 

先在 OPPO 上看到 Server listening on 5201,再让 iPhone 去连。若 adb shell iperf3 -v 报 not found,把完整输出发我,我按你这台机改下一步。

 

Server 填刚才的 IP(例如 192.168.43.1),端口 5201。--> 刚才的 IP 是什么

刚才说的 192.168.43.1 只是 Android 热点的常见举例,不是这台机现在的地址。

 

当前这台已连接的 OPPO(PGEM10)热点网关是:

 

10.34.154.203

 

iPhone 里 Server 就填这个。热点网卡是 wlan2(不是办公室 Wi‑Fi 的 wlan0 10.103.53.87,那个不要填)。

 

端口按你实际跑的工具:

 

  • HE.NET 自带 iperf:5001

  • iPerf3 App:5201

 

iPhone 要先连上这台 OPPO 的热点,再开 Client。热点关了再开会变 IP,到时候重新查:

 


adb shell ip -4 addr show wlan2

PM3734899I:Downloads 3734899I$ adb shell ip -4 addr show wlan2

85: wlan2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP group default qlen 3000

inet 10.34.154.203/24 brd 10.34.154.255 scope global wlan2

valid_lft forever preferred_lft forever

iPhone 里 Server 填 10.34.154.203。

接着:

  1. iPhone 连上这台 OPPO 的热点
  2. OPPO 上 Server 已经在听(窗口别关)
  3. iPhone 开 Client:
    • HE.NET 的 iperf → 端口 5001
    • iPerf3 → 端口 5201

10.34.154.255 是广播地址,不要填。wlan0 上的办公室 IP 也不要填。