Есть сокет сервер\клиент на Java данные собираюсь забирать из сокета большими блоками.
InStream = new DataInputStream(this.ClientSocket.getInputStream());
//......
//Размер для примера
byte[] InputData = new byte[8MB];
InStream.readFully(InputData);
Вопрос сколько можно копить данных в буфере?(хотелось бы до пары десятков МБ). Нужно ли что то городить поверх(например BufferedInputStream?)
Или необходимо в обязательном порядке читать меньшими кусками чтоб не переполнить буфер?
InStream = new DataInputStream(this.ClientSocket.getInputStream());
//......
//Размер для примера
byte[] InputData = new byte[8MB];
int ReadedNow = 0;
while(ReadedNow<8MB)
{
ReadedNow += InStream.read(InputData,ReadedNow,8MB-ReadedNow);
}
п.с. код упрощен для демонстрации.
Продвижение своими сайтами как стратегия роста и независимости