2

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();
                    }

        }
    }

}
4

0 に答える 0