【问题标题】:Limiting the transfer rate of imageIO.write over socket限制 imageIO.write over socket 的传输速率
【发布时间】:2025-12-05 14:55:01
【问题描述】:

我对此进行了一些研究,并且看到了一些使用睡眠限制数据传输的响应。但是我发送图像的方法是通过 imageIO 上的缓冲图像而不是字节数组等。

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

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

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

基本上,程序通过套接字将 captureImg 发送到 VPS。但是我想将此传输速率限制在 15kb/s 左右。用这种方法可以吗?

提前致谢!

【问题讨论】:

    标签: java sockets javax.imageio


    【解决方案1】:

    我会为 OutputStream -> write(...) 方法编写一个包装器。

    看看Guava's rate limiter,可能会派上用场解决这个问题。

    【讨论】:

    • 谢谢,ortang。很棒的链接,如果你看到它,我无法编辑我之前的评论。我错过了第二个关于限制数据流的示例。