【发布时间】: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