我在写一个测试上传速度连接到服务器的java类。我想检查5秒内可以发送多少数据。java url连接,等待通过输出流发送的数据
我写过一个类,它创建一个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();
感谢
你怎么能断言它不被发送? ...已经发送并已收到回复之间的区别 – dagnelies 2011-01-07 10:48:51
好吧,对不起,我认为我需要的是服务器已收到响应。 如果我现在写它是如何写的,那么应用程序会向写入器写入大量数据,并且这个过程将比预期的时间多得多。 – Mateu 2011-01-07 11:05:39