【问题标题】:how to slow down the speed of buffer sending java如何减慢缓冲区发送java的速度
【发布时间】:2013-04-19 11:08:04
【问题描述】:

我有一台服务器,出于某些原因和实验,我想减慢它的速度

long length = fileToSend.length();
            byte [] longBytes = new byte[8];
            ByteBuffer bbuffer = ByteBuffer.wrap(longBytes);
            bbuffer.putLong(length);
            connectionSocket.getOutputStream().write(longBytes);

            BufferedOutputStream bout = new BufferedOutputStream(connectionSocket.getOutputStream());
            BufferedInputStream bain = new BufferedInputStream(new FileInputStream(fileToSend));

            byte buffer [] = new byte [1024];
            int i = 0;
            while((i = bain.read(buffer, 0, 1024)) >= 0){

                bout.write(buffer, 0, i);

            }
            System.out.println("chunk sended");
            bout.close();
            bain.close();

我对使用线程睡眠之类的东西有一些想法!但我现在不知道它是否足够和好的解决方案!有人可以指导我如何做到这一点

【问题讨论】:

  • 至于Thread.sleep(L)够不够用,不如试试看?
  • 请使用throttling proxy 而不是更改您的代码以遵守带宽限制。配置/重新配置要容易得多。
  • 但是如果我想在我的 java 服务器中做呢?

标签: java sockets tcp buffer java-server


【解决方案1】:

使用线程.sleep(0.500);似乎工作正常!但是还有其他好的解决方案来测试它吗?或者其他东西可能会更好?

【讨论】:

    猜你喜欢
    • 2018-12-06
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    相关资源
    最近更新 更多