当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 0 Fork 4

物联网平台/cloudmq-go-client
关闭

forked from cloudzone/cloudmq-go-client
关闭
 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
net.go 748 Bytes
一键复制 编辑 原始数据 按行查看 历史
Gogs 提交于 2016-03-16 17:16 +08:00 . auto get Ipv4
package rocketmq
import (
"net"
"strings"
)
func GetLocalIp4() (ip string) {
interfaces,err:= net.Interfaces()
if err != nil {
return
}
for _, face:= range interfaces{
if strings.Contains(face.Name,"lo"){
continue
}
addrs,err := face.Addrs()
if err != nil {
return
}
for _,addr := range addrs {
if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
if ipnet.IP.To4() != nil {
currIp := ipnet.IP.String()
if !strings.Contains(currIp,":")&&currIp != "127.0.0.1" && isIntranetIpv4(currIp){
ip = currIp
}
}
}
}
}
return
}
func isIntranetIpv4(ip string) bool{
if strings.HasPrefix(ip,"192.168.") || strings.HasPrefix(ip,"169.254.") {
return true
}
return false
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/anhj_iot_platform/cloudmq-go-client.git
git@gitee.com:anhj_iot_platform/cloudmq-go-client.git
anhj_iot_platform
cloudmq-go-client
cloudmq-go-client
master

搜索帮助