mirror of
https://github.com/inverse-inc/upnp.git
synced 2024-05-03 14:44:57 +08:00
add getLocalIps function
This commit is contained in:
parent
428e01c56f
commit
9ca9c67deb
25
common.go
25
common.go
@ -21,3 +21,28 @@ func GetLocalIntenetIp() string {
|
||||
defer conn.Close()
|
||||
return strings.Split(conn.LocalAddr().String(), ":")[0]
|
||||
}
|
||||
|
||||
// This returns the list of local ip addresses which other hosts can connect
|
||||
// to (NOTE: Loopback ip is ignored).
|
||||
func GetLocalIPs() ([]*net.IP, error) {
|
||||
addrs, err := net.InterfaceAddrs()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
ips := make([]*net.IP, 0)
|
||||
for _, addr := range addrs {
|
||||
ipnet, ok := addr.(*net.IPNet)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
|
||||
if ipnet.IP.IsLoopback() {
|
||||
continue
|
||||
}
|
||||
|
||||
ips = append(ips, &ipnet.IP)
|
||||
}
|
||||
|
||||
return ips, nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user