我正在创建一个同步服务,它将文件复制到用户选择的 ftp 文件夹。当我运行该服务时,它与 ftp 连接并检查 android 本地存储中的文件是否在 ftp 上可用,如果没有,它会上传。下面是我的代码。
FTPClient ftpClient = new FTPClient();
ftpClient.setPassive(true);
if (!ftpClient.isConnected()) {
ftpClient.connect(server, port);
}else {
Log.i(TAG,"FTP already connected");
}
if (!ftpClient.isAuthenticated()) {
ftpClient.login(username, password);
}else {
Log.i(TAG,"FTP already Logged In");
}
ftpClient.changeDirectory(rfolderpath);
String[] files = ftpClient.listNames();
if (Arrays.asList(files).contains(filename)) {
Log.i(TAG, filename + " Already Found in FTP, Skipping");
} else {
Log.i(TAG, "Sending Go Ahead For Upload");
File file = new File(filepath);
Log.i(TAG, "Uploading File: " + filename);
ftpClient.upload(file);
ftpClient.logout();
ftpClient.disconnect(true);
}
该代码适用于前 8 个文件,然后我开始从该 IP 获得太多连接 (8) 的异常,并且我的同步终止。
这是错误文本:
it.sauronsoftware.ftp4j.FTPException [code=421, message= Too many connections (8) from this IP]
有人可以帮助我如何处理这种情况。