FTP 서버에서 MP3 파일을 다운로드 중입니다. 그것은 안드로이드 응용 프로그램을 다운로드하고 MP3 파일을 재생합니다. 이 다운로드는 apache commons 라이브러리를 사용하여 Java로 구현되며 코드는 주로 다른 자습서를 기반으로합니다. 다운로드는 Java를 실행하는 데스크탑에서 매우 빠르게 작동하는데 약 10 초의 파일을 다운로드하는 데 약 5 초가 소요되지만 Android 디바이스에서 실행되는 동일한 코드 (2 개 시도)는 다운로드 속도가 5 ~ 10 분이 지나치게 느립니다. 같은 파일. (두 가지 테스트 모두 Wi-Fi를 통해 수행되었습니다). 를 기반으로안드로이드에서 FTP 다운로드 매우 느림 (자바로 빠름)
코드 : 연결 및 다운로드 : http://androiddev.orkitra.com/?p=28&cpage=2#comment-40
아래 코드는 사용하는 두 가지 방법을 보여줍니다.
public boolean connect(String host, String username, String pass, int port){
try{
mFTPClient.connect(host, port);
if(FTPReply.isPositiveCompletion(mFTPClient.getReplyCode())) {
boolean loginStatus = mFTPClient.login(username, pass);
mFTPClient.setFileType(FTP.BINARY_FILE_TYPE);
mFTPClient.enterLocalPassiveMode();
mFTPClient.setKeepAlive(true);
return loginStatus;
}
} catch (Exception e){
System.err.println("Error: Could not connect to: " + host);
e.printStackTrace();
}
return false;
}
public boolean download(String srcFilePath, String dstFilePath) {
boolean downloadStatus = false;
try {
FileOutputStream dstFileStream = new FileOutputStream(dstFilePath);
downloadStatus = mFTPClient.retrieveFile(srcFilePath, dstFileStream);
dstFileStream.close();
return downloadStatus;
} catch (Exception e) {
System.err.println("Error: Failed to download file from " + srcFilePath + " to " + dstFilePath);
}
return downloadStatus;
}
는 다행스럽게도 필자는 필요한 모든 세부 사항을 언급하고 너무 느린 어떻게 왜 사람이 설명 할 수 있다면 그것이 적절한 시간에 다운로드 할 수있는 모든의 경우 감사하겠습니다.
speedtest.net 데스크톱과 모바일 결과를 비교 했습니까? 집에서 Wi-Fi 네트워크를 사용할 수 있지만 PC에서 최대한 빨리 다운로드 할 수는 없습니다. –
방금하고 Speed Test가 모바일에서 ~ 26MB, 데스크톱에서 ~ 29MB를주었습니다. 그러나 핑 (ping)은 데스크탑에서 23ms, 모바일에서 62ms를 제공하는 훨씬 더 컸습니다. 그것은 그 문제의 원인 일 수 있습니까? –
모바일에 다른 FTP 클라이언트가 있습니까? 그렇다면 결과가 비교 가능한가? – fge