获取用于从 Android 设备连接到 Firebase 的 IP 地址 [重复]

Posted

技术标签:

【中文标题】获取用于从 Android 设备连接到 Firebase 的 IP 地址 [重复]【英文标题】:Get IP Address used to connect to Firebase from Android device [duplicate] 【发布时间】:2017-02-10 20:54:10 【问题描述】:

我正在创建一个将数据发送到 Firebase 服务器的 android 应用。我无法做的是获取用于连接到 Firebase 服务器的公共 IP 地址。当用户使用 3G 时,下面的代码给出了私有 IP,这是无用的,因为每次用户通过移动数据连接到 3G 时它都会改变。 因此,我想获取用于向 Firebase 服务器发出请求的公共 IP 地址

如果我没记错的话,下面的代码给了我私有 IP 地址。

WifiManager wifiMan = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInf = wifiMan.getConnectionInfo();
int ipAddress = wifiInf.getIpAddress();

【问题讨论】:

【参考方案1】:

如果设备已连接到来自网络服务提供商的蜂窝数据,那么您可能无法获得所需的行为。他们的内部路由器可能会或可能不会共享该 IP,或阻止某些网络流量。

不过,您可以点击可以提供此信息的外部网站。

尝试以下方法之一:

    WhatIsMyIP.com 为这类事情提供了开发者 API。

    https://www.whatismyip.com/api-documentation/

    比仅仅访问服务器本身更容易。

    http://ifcfg.me/ip

    它只是以最原始的形式返回 IP 地址。

希望其中之一能让你走上正确的道路。

【讨论】:

以上是关于获取用于从 Android 设备连接到 Firebase 的 IP 地址 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将android设备连接到本地服务器xampp

如何使用 Socket Programming 连接 Android 设备?

设备在Android中连接到WiFi时如何获取蜂窝网络的IP地址

检测设备是否连接到哪个网络,然后从服务器发送数据取决于连接的网络

如何从android设备连接到sql server数据库

无法从 android 设备连接到 xampp 服务器