跳过主要内容
返回插件
@capgo/capacitor-network-diagnostics
教程
@capgo/capacitor-network-diagnostics

网络诊断

为 URL 可达性、TCP 端口、WebSocket 握手、速度和包丢失运行本机网络诊断

指南

网络诊断教程

使用 @capgo/capacitor-network-diagnostics

为需要调试受限 Wi-Fi、捕获门户、阻塞端口、WebSocket 失败、慢下载和包丢失的 Capacitor 应用提供原生网络诊断功能。

安装

npm install @capgo/capacitor-network-diagnostics
npx cap sync

此插件暴露的内容

  • getNetworkStatus - 读取原生连接类型和平台网络标志。
  • testUrl - 使用 HTTP 或 HTTPS URL 检查状态 code 和延迟。
  • testPort - 打开一个本机 TCP 套接字到主机和端口。
  • testWebSocket - 验证一个 ws:// - 或 wss:// - 握手。
  • testDownloadSpeed - 测量本机下载吞吐量。
  • testPacketLoss - 估计应用层包丢失率使用重复探测。
  • runDiagnostics - 运行一个组合诊断并返回问题列表。

示例用法

import { NetworkDiagnostics } from '@capgo/capacitor-network-diagnostics';

const report = await NetworkDiagnostics.runDiagnostics({
  urls: [{ url: 'https://api.example.com/health' }],
  ports: [{ host: 'api.example.com', port: 443 }],
  websockets: [{ url: 'wss://ws.example.com/socket' }],
  packetLoss: {
    mode: 'tcp',
    host: 'api.example.com',
    port: 443,
    count: 10,
  },
});

console.log(report.status);
console.log(report.issues);

支持工作流

要求受影响用户在连接到问题 Wi-Fi 或访问点时运行诊断。发送结果到支持人员:

  • 连接类型和 OS 网络标志
  • 失败的 URL、端口或 WebSocket 端点
  • 下载 Mbps
  • 包丢失百分比
  • 原生错误代码和消息

在 iOS 和 Android 应用程序中,原始 ICMP ping 不是可移植的,因此使用重复的 TCP 或 HTTP 探测来测量包丢失。

全局参考