我正在创建一个同步服务,它将复制文件到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个文件,然后我开始得到异常太多的连接(8)从这个IP和我的同步终止。
以下是错误文本:
it.sauronsoftware.ftp4j.FTPException [code=421, message= Too many connections (8) from this IP]有没有人能帮我解决这个问题。
发布于 2021-09-09 15:08:37
我改变了上传文件的逻辑。现在在AsyncTaskLoader下创建了一个ftp连接,并使用该连接上传所有文件,但没有错误。
https://stackoverflow.com/questions/69105210
复制相似问题