类对象支持库。路径:支持库 → 扩展类库 → 网络诊断类。
类型名写「网络诊断类」。声明时自动创建。
ICMP Ping(IPv4)与 DNS 查询。旁路包 plugins/supportlib.netdiag/,免费(client_gated: false,无验票)。
部分网络环境会拦 ICMP;失败时看 取错误() / 取摘要()。
支持库面板看不到?
- 确认运行的 YStudio.exe 同级 有目录
plugins/supportlib.netdiag/manifest.json(仓库已打进dist/YStudio/plugins/;若从 Creator 的build/.../release启动,也要把该目录拷过去)。 - 完全退出并重启 IDE(插件只在启动时扫描一次)。
- 在「支持库 → 扩展类库」里找 网络诊断类(方法挂在该类下,不是单独一级菜单名「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)。