Я пишу Java-класс, который проверяет скорость загрузки соединения на сервер. Я хочу проверить, сколько данных можно отправить за 5 секунд.
Я написал класс, который создает URL, создает соединение и отправляет данные через outPutStream. Есть цикл, в котором я записываю данные в поток в течение 5 секунд. Однако я не могу видеть, когда данные были отправлены (я записываю данные в выходной поток, но данные еще не отправлены). Как я могу ждать, пока данные действительно не будут отправлены на сервер?
Вот мой код (который не работает):
URL u = new URL(url)
HttpURLConnection uc = (HttpURLConnection) u.openConnection();
uc.setDoOutput(true);
uc.setDoInput(true);
uc.setUseCaches(false);
uc.setDefaultUseCaches(false);
uc.setRequestMethod("POST");
uc.setRequestProperty("Content-Type", "application/octet-stream");
uc.connect();
st.start();
// Send the request
OutputStream os = uc.getOutputStream();
//This while is incorrect cause it does not wait for data beeing sent
while (st.getElapsedTime() < miliSeconds) {
os.write(buffer);
os.flush();
st.addSize(buffer.length);
}
os.close();
Спасибо