open-im-server/src/utils/get_server_ip.go
Yaxian c8155553b8
feat: optimise get server ip (#20)
* feat: optimise get server ip

* feat: test ServerIP
2021-10-21 11:30:48 +08:00

27 lines
540 B
Go

package utils
import (
"Open_IM/src/common/config"
"net"
)
var ServerIP = ""
func init() {
//fixme In the configuration file, ip takes precedence, if not, get the valid network card ip of the machine
if config.Config.ServerIP != "" {
ServerIP = config.Config.ServerIP
return
}
// see https://gist.github.com/jniltinho/9787946#gistcomment-3019898
conn, err := net.Dial("udp", "8.8.8.8:80")
if err != nil {
panic(err)
}
defer conn.Close()
localAddr := conn.LocalAddr().(*net.UDPAddr)
ServerIP = localAddr.IP.String()
}