package utils import ( "Open_IM/pkg/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.Error()) } defer conn.Close() localAddr := conn.LocalAddr().(*net.UDPAddr) ServerIP = localAddr.IP.String() }