當主機的IP地址是動態(tài)IP的時候,而本機上運行的服務(wù)需要被其他設(shè)備訪問。就產(chǎn)生一個需求“本機主動告知本機IP地址”。
這需要一個業(yè)務(wù)邏輯。
本機運行程序,取得本機IP地址,通過公網(wǎng)(或某固定可訪問的地址)通報上去本機IP地址。
addrs, err := net.InterfaceAddrs()
if err != nil{
panic(err)
}
for _, addr := range addrs{
//fmt.Println(addr.String())
//檢查ip地址判斷是否回還地址
if ipnet, ok := addr.(*net.IPNet);ok && !ipnet.IP.IsLoopback(){
if ipnet.IP.To4() != nil{
fmt.Println(ipnet.IP.String())
}
}
}