在Java中发送Chunked HTTP请求

时间:2018-01-17 19:04:24

标签: java http chunked

尝试使用HttpURLConnection发送HTTP chunked POST请求。

conn.setRequestMethod("POST");
conn.setChunkedStreamingMode(16000);
conn.setRequestProperty("format", "InterleavedInt16");
conn.setRequestProperty("number-of-channels", "2");
conn.setRequestProperty("format", "InterleavedInt16");
conn.setRequestProperty("transfer-encoding", "chunked");
conn.setReadTimeout(12000);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);  

如上所述设置了conn。我的问题是我是否需要手动将输出流分解为块大小。并为每个块调用out.write()多次。或者我可以调用out.write()一次,但是传入整个流?

我当前发送整个流的代码(假设大小为32000):

byte[] data = new byte[32000];
inputStream.read(data);
OutputStream out = conn.getOutputStream();
conn.connect();
out.write(data);
audioStream.close();
out.close();

这给我一个“意外的连接流结束”错误。

0 个答案:

没有答案