Files
4566704 a4920a6a8e feat(arp): 自 go-hua 迁入 ARP 表查询与定时刷新缓存
- IP→MAC 查询(AutoRefresh 后台刷新/Search/Table), 新增依赖 mostlygeek/arp
- 附测试、examples/arp 例程与包 README
2026-09-20 12:29:36 +08:00

28 lines
812 B
Go

// arp 包示例:读取系统 ARP 表并按 IP 查询 MAC 地址,支持定时自动刷新缓存
package main
import (
"fmt"
"time"
"git.zeroonesoft.cn/golib/zogo/arp"
)
func main() {
// 手动刷新一次 ARP 缓存
arp.CacheUpdate()
fmt.Println("缓存更新时间:", arp.CacheLastUpdate().Format("15:04:05"))
fmt.Println("累计刷新次数:", arp.CacheUpdateCount())
// 按 IP 查询 MAC(缓存未命中时会自动刷新一次再查)
gateway := "192.168.1.1"
fmt.Printf("%s 的 MAC: %q\n", gateway, arp.Search(gateway))
// 开启自动刷新(每 30 秒),适合长时间运行的服务
arp.AutoRefresh(30 * time.Second)
fmt.Println("已开启自动刷新(每30秒)")
time.Sleep(100 * time.Millisecond)
fmt.Printf("再次查询 %s: %q\n", gateway, arp.Search(gateway))
}