>>321

大きなファイルを GET するのか、大量のファイルを GET するかにもよるけど、
その方法でOKだと思う。ただ、ウィンドウサイズをいじる必要があるような
場合には、別の方法(QoS API とか dummynet とか)を使う方がいい。ウィンド
ウサイズを直にいじっても、うまく帯域を制御するのは難しいから。

基本的にはこんな感じ。(Time::HiRes はインストールしてあると仮定。)
ウィンドウサイズをいじるのなら、コメント部を外す。

#require 'sys/types.ph';
#require 'sys/socket.ph';
use Time::HiRes usleep;
use IO::Socket;

$s = IO::Socket::INET->new(PeerAddr=>"some.host.com",
  PeerPort=>"80",
  Proto=>"tcp");
die $@ if !defined($s);
$s->print("GET / HTTP/1.0\r\n\r\n");
#$s->sockopt(&SO_RCVBUF,8192);
while ($s->read($line, 8192) > 0) {
 print $line;
 usleep(100*1000);
}
$s->close();