进程注册到nacos上时的地址如何写(rpc有使用到)

1.https://checkip.amazonaws.com/

2.NetworkInterface

3.外网地址本地unity无法连接

以下是获取本机地址,其它的则是:各种端口了

            if (checkUrl != null) {
                try {
                    return Http.client.get(checkUrl).body<String>().lines().first().trim()
                } catch (e: Exception) {
                    logger.error(e) { "Failed to check $checkUrl"}
                }
            }
            if (prefix.isNotEmpty()) {
                val ip = NetworkInterface.networkInterfaces()
                    .flatMap { it.inetAddresses() }
                    .map { it.hostAddress }
                    .toList()
                    .minByOrNull {ip ->
                        prefix.indexOfFirst { p -> ip.startsWith(p) }.let { if (it < 0) Int.MAX_VALUE else it }
                    }
                if (ip != null) return ip
            }

外网地址:

用https://checkip.amazonaws.com/ 可以得到一个外网地址,因为gate是外网访问,因此这个优先级高!!!

内网地址: 

3个前缀地址,如果是: 仅仅服务器内部访问,则是使用内部地址即可!!!

    - 192.
    - 172.
    - 10.

更多推荐