FTP を使用してアップロード速度テストを実行する Android アプリを作成しようとしていますが、次のコードではアップロード速度が 1 Mbps を超えません。同じデバイスで FTP クライアントを使用している間、15 Mbps のアップロード速度を得ることができます。誰かが私にこれについて助けてもらえますか?
public class MultiUL extends Thread{
private String id="hhhhh0001";
private int bufferSize=32768;
public void run() {
FTPClient ftp = new FTPClient();
try {
ftp.connect(MPSharkVar.Server,21); // Using port no=21
ftp.login(MPSharkVar.FTPUser, MPSharkVar.FTPPwd);
ftp.setFileType(FTP.BINARY_FILE_TYPE);
ftp.enterLocalPassiveMode();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
uploadWork(ftp, id);
try {
ftp.disconnect();
}
catch (Exception ex)
{
}
}
private void uploadWork(FTPClient ftp, String id) {
byte[] buffer = new byte[bufferSize];
for (int i = 0; i < bufferSize; i++) {
buffer[i] = 'F';
}
OutputStream os = null;
BufferedOutputStream bos = null;
long start = System.currentTimeMillis();
long end = start;
try {
ftp.changeWorkingDirectory("/upload");
os = ftp.storeFileStream(id);
bos = new BufferedOutputStream(os);
start = System.currentTimeMillis();
end = start;
while (((end - start) <= MPSharkVar.TestDur)) {
bos.write(buffer, 0, buffer.length);
end = System.currentTimeMillis();
}
} catch (Exception ex) {
end = System.currentTimeMillis();
} finally {
try {
bos.flush();
bos.close();
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}