YStudio Y++

网络诊断类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库。路径:支持库 → 扩展类库 → 网络诊断类。

类型名写「网络诊断类」。声明时自动创建。

ICMP Ping(IPv4)与 DNS 查询。旁路包 plugins/supportlib.netdiag/,免费(client_gated: false,无验票)。

部分网络环境会拦 ICMP;失败时看 取错误() / 取摘要()。

支持库面板看不到?

  1. 确认运行的 YStudio.exe 同级 有目录 plugins/supportlib.netdiag/manifest.json(仓库已打进 dist/YStudio/plugins/;若从 Creator 的 build/.../release 启动,也要把该目录拷过去)。
  2. 完全退出并重启 IDE(插件只在启动时扫描一次)。
  3. 在「支持库 → 扩展类库」里找 网络诊断类(方法挂在该类下,不是单独一级菜单名「netdiag」)。

快速开始

网络诊断类 d
如果 (d.Ping("8.8.8.8")) {
    输出("平均 " + 到文本(d.取平均往返()) + " ms,丢包 " + 到文本(d.取丢包率()) + "%")
    输出(d.取摘要())
} 否则 {
    输出(d.取错误())
}

输出(d.解析域名("www.baidu.com"))
输出(d.查DNS("baidu.com", "MX"))
输出(d.反向解析("8.8.8.8"))

方法

方法 说明
置超时 / 取超时 默认单次超时毫秒(默认 3000)
置次数 / 取次数 默认 Ping 次数 1–64(默认 4)
Ping(主机, [超时=0], [次数=0]) ICMP Echo;超时/次数 ≤0 用默认;至少一回应答返回真
取目标IP 最近一次解析到的 IPv4
取成功数 / 取失败数 / 取丢包率 最近一次统计;丢包率 0–100
取最小往返 / 取最大往返 / 取平均往返 毫秒;无应答为 -1
取摘要 多行文字报告
批量Ping(主机列表, …) 每行一个主机;# 注释;返回 主机\t结果\t平均ms\t丢包%
解析域名 IPv4 列表(换行)
查DNS(域名, [类型="A"]) A / AAAA / CNAME / MX / NS / TXT / PTR
反向解析 IPv4 → PTR 主机名
重置 清空结果与错误(保留超时/次数)
取错误 最近失败原因

注意

  • 当前 Ping 走 IPv4;纯 IPv6 主机请先用 查DNS(..., "AAAA") 查看记录。
  • 需本机防火墙/运营商放行 ICMP;公司网常见禁 Ping,属环境限制而非类故障。
  • 链接依赖:ws2_32 / iphlpapi / dnsapi(库内 #pragma comment)。

相关

HTTP类 · TCP类 · UDP类