英文:
How to get ip from ifconfig by broadcast addess?
问题
我在配置中有一个广播地址用于UDP数据包。
如何通过广播地址从服务器中获取IP地址(从ifconfig信息接口中获取)?
英文:
I have broadcast address in config for udp packages.
How to get ip address in server ( from ifconfig info interfaces ) by broadcast address ?
答案1
得分: 1
这段代码解决了你的问题吗?
import (
"net"
"github.com/pkg/errors"
)
func IpAddr() (string, error) {
addrs, err := net.InterfaceAddrs()
if err != nil {
return "", err
}
for _, addr := range addrs {
if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
if ipnet.IP.To4() != nil {
return ipnet.IP.String(), nil
}
}
}
return "", errors.New("无法确定本地IP地址")
}
英文:
Does this code solve your problem ?
import (
"net"
"github.com/pkg/errors"
)
func IpAddr() (string, error) {
addrs, err := net.InterfaceAddrs()
if err != nil {
return "", err
}
for _, addr := range addrs {
if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
if ipnet.IP.To4() != nil {
return ipnet.IP.String(), nil
}
}
}
return "", errors.New("unable to determine local ip")
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论