Я работаю в настольном приложении с использованием Java.В моем приложении я должен выполнить тест скорости, который покажет скорость загрузки и загрузки файла.
Для загрузки теста я загружаю небольшой тестовый файл на FTP-сервер и, основываясь на затраченном времени, вычисляю файлскорость загрузки.Точно так же я загружаю тестовый файл формы сервера и вычисляю скорость загрузки.
Но результат, который я получаю, не соответствует фактической скорости загрузки и скачивания файлов FTP. Кажется, что установление соединения с сервером FTP увеличиваетвремя, следовательно, результирующая скорость, которую я вычисляю, меньше.
вот код загрузки файла, который я использую:
public int getTransferRate(File filename)
{
int trRate = 0;
try {
OutputStream fout = null;
InputStream bin = null;
connect(ftpUser,ftpPass,ftpServer);
ftp.setFileType(FTPSClient.BINARY_FILE_TYPE);
ftp.enterLocalPassiveMode();
fout = ftp.storeFileStream("testuploadfile");
bin = new FileInputStream(filename);
byte[] b = new byte[8192];
int bytesRead = 0;
long startTime = System.currentTimeMillis();
long endTime = 0;
while ((bytesRead = bin.read(b)) != -1) {
fout.write(b, 0, bytesRead);
bytesUploadedSet += bytesRead;
}
endTime = System.currentTimeMillis();
trRate = (int) ((float) bytesUploadedSet / (endTime - startTime));
} catch (IOException ex) {
Logger.getLogger(FTPFileStorageService.class.getName()).log(Level.SEVERE, null, ex);
}
return trRate;
}
Не могли бы вы предложить какую-либо ссылку или какой-либо способ получить ближайшую загрузку иСкорость загрузки.
Спасибо за ваше ценное предложение.