Android无法连接到Windows FTP服务器。始终以在常规Java中有效的相同凭据出现超时。
创始人
2024-10-12 07:31:39
0

在Android中连接到Windows FTP服务器时,可能会遇到超时问题。以下是一个可能的解决方案,其中包含代码示例:

  1. 首先,确保你已经在Android清单文件(AndroidManifest.xml)中添加了Internet权限:

  1. 使用Apache Commons Net库来处理FTP连接。确保在build.gradle文件中添加以下依赖项:
implementation 'commons-net:commons-net:3.7'
  1. 创建一个FTP连接的帮助类,如下所示:
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;

public class FTPHelper {
    private static final int TIMEOUT = 10000; // 设置连接和读取超时时间

    public static FTPClient connect(String server, int port, String username, String password) {
        FTPClient ftpClient = new FTPClient();
        try {
            ftpClient.setConnectTimeout(TIMEOUT);
            ftpClient.setDataTimeout(TIMEOUT);
            ftpClient.setDefaultTimeout(TIMEOUT);
            ftpClient.connect(server, port);
            ftpClient.login(username, password);
            ftpClient.enterLocalPassiveMode(); // 进入被动模式
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE); // 设置文件类型为二进制
            return ftpClient;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}
  1. 在你的Activity或Fragment中,使用上述帮助类来连接FTP服务器:
import android.os.AsyncTask;

import org.apache.commons.net.ftp.FTPClient;

public class MainActivity extends AppCompatActivity {
    private static final String SERVER = "ftp.example.com";
    private static final int PORT = 21;
    private static final String USERNAME = "your_username";
    private static final String PASSWORD = "your_password";

    private FTPClient ftpClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 在后台线程中连接到FTP服务器
        AsyncTask.execute(new Runnable() {
            @Override
            public void run() {
                ftpClient = FTPHelper.connect(SERVER, PORT, USERNAME, PASSWORD);
                if (ftpClient != null) {
                    // 连接成功
                    // 执行其他FTP操作
                } else {
                    // 连接失败
                }
            }
        });
    }
}

通过上述代码,你可以在Android应用程序中连接到Windows FTP服务器并执行其他FTP操作。记得替换代码中的FTP服务器地址、端口、用户名和密码为你自己的凭据。

相关内容

热门资讯

透视智能ai"hhp... 透视智能ai"hhpoker脚本"详细辅助玩家教你(可以获得好牌透明);支持多人共享记分板与复盘,通...
透视能赢"wepok... 透视能赢"wepoker轻量版透视方法"详细辅助曝光教程(私人局透视方法攻略)准备好在wepoker...
透视实锤"pokem... 透视实锤"pokemmo辅助工具"详细辅助透明挂教程(插件功能辅助器技巧);支持2-10人实时对战,...
透视智能ai"哈糖大... 1、透视智能ai"哈糖大菠萝免费辅助器"详细辅助微扑克教程(辅助透视软件透视)2、进入游戏-大厅左侧...
透视系统"德州之星扫... 透视系统"德州之星扫描器"详细辅助解密教程(有透视方法技巧);建议优先通过德州之星扫描器透明挂内置帮...
透视游戏"wepok... 透视游戏"wepoker手机版辅助"详细辅助教你攻略(htx矩阵辅助透视);原来确实真的有挂(需添加...
透视中牌率"wpk透... 透视中牌率"wpk透视是真的假的"详细辅助安装教程(正规神器)是一款可以让一直输的玩家,快速成为一个...
透视挂透视"hhpo... 透视挂透视"hhpoker是真的假的"详细辅助wpk教程(辅助插件功能技巧)1、玩家可以在hhpok...
透视安装"wepok... 透视安装"wepoker辅助器"详细辅助透明挂教程(辅助器免费透视)1、不需要AI权限,帮助你快速的...
透视插件"德州私人局... 透视插件"德州私人局脚本"详细辅助AI教程(国外版透视方法)准备好在德州私人局脚本 ia的高塔上攀登...