尝试使用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();
这给我一个“意外的连接流结束”错误。