Ограничение скорости передачи imageIO.write через сокет

Я провел некоторое исследование по этому вопросу, и я видел некоторые ответы для ограничения передачи данных с помощью сна. Однако мой метод отправки изображения осуществляется через буферное изображение поверх imageIO, а не в байтовый массив и т.д.

DataInputStream in=new DataInputStream(client.getInputStream());

DataOutputStream out = new DataOutputStream(client.getOutputStream());

ImageIO.write(captureImg(),"JPG",client.getOutputStream());

В основном программа отправляет captureImg поверх сокета на VPS. Однако я хочу ограничить эту скорость передачи примерно на 15 кб/с. Возможно ли это с помощью этого метода?

Заранее спасибо!

1 ответ

Я бы написал обертку для OutputStreamwrite(...).

Взгляните на ограничитель скорости Guava, который может пригодиться для решения этой проблемы.

licensed under cc by-sa 3.0 with attribution.