2

我正在尝试连接到 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?

任何帮助,将不胜感激。

4

1 回答 1

3

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

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

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

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

于 2015-05-30T21:17:00.270 回答