Я пытаюсь отправить байты данных с сервера на клиент, поэтому я использую указатель файла, чтобы указать местоположение файла, прочитавшего и прочитавшего набор байтов, и отправить его клиенту.
Нижесторона сервера
byte[] b = readByte()// my function which return bytes of Data
ServletOutputStream stream = httpServletResponse.getOutputStream();
stream.flush();
stream.write(b);
stream.flush();
Ниже находится сторона клиента
URL url = new URL("http://localhost:1222/?filePointer=" + fp);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.connect();
InputStream is = conn.getInputStream();
System.out.println("Connection Open");
int pos = 0;
byte[] b = new byte[buffLength];
while (pos != -1) {
pos = is.read(b, pos, b.length - pos);
}
write2File(b);
Приведенный выше код работает для bufferLength 20Kb, так как bufferLength увеличивается, я получаю неправильные значения.