Android FTP 4G

Android FTP with 4G

我正在尝试连接到 Android 应用程序中的 FTP 服务器,我相信我陷入了无限循环,但不明白为什么。我使用的库是 Apache Comomns net.

我在清单中有互联网权限:

<uses-permission android:name="android.permission.INTERNET"/>

我也在 AsyncTask 中连接到 FTP。

这是一个应该可以工作的示例代码:

    // I have other values when I test it of course
    FTPClient ftpClient = new FTPClient();
    ftpClient.connect("111.111.111.111"); // It stops working here when in 4G
    ftpClient.login("user", "mdp");
    ftpClient.changeWorkingDirectory("directory");
    ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
    ftpClient.enterLocalPassiveMode();
    ftpClient.logout();
    ftpClient.disconnect();

它可以在 Wifi 上运行(我的真实应用程序也可以在 wifi 上运行)但是当我使用我的 4G(或 3G)时,它似乎永远在我尝试连接()的那一行循环。

我试图理解这背后的原因,但对我来说并不清楚。

如何使用 4G 连接到我的 FTP?

如有任何帮助,我们将不胜感激。

听起来您的网络运营商可能阻止了 FTP 端口。

要对此进行测试,您可以尝试 ftp 在移动设备的浏览器上访问同一站点 - 如果它有效,则表明您的应用程序存在问题。

如果它不起作用,请尝试使用已知的工作 FTP 站点 - 例如 Tele2 托管一个测试站点(如果您进行快速搜索,还有很多其他开放的 FTP 站点) :

如果您无法通过 4G 从您的移动设备访问此内容,那么您的运营商很可能 FTP,您应该与他们联系以了解原因以及您可以采取哪些措施来删除阻止。