#!/usr/bin/perl use strict; use IO::File; use IO::Socket::INET; use Getopt::Std; use Time::HiRes qw(usleep); use vars qw($opt_s $opt_b); getopts('s:b:'); my $server = IO::Socket::INET->new( LocalPort => 9330, Type => SOCK_STREAM, Reuse => 1, Listen => 10 ); while (my $client = $server->accept()) { # Get our test data my $file = new IO::File "./data"; my $data = join '', <$file>; $file->close(); print "Got a connection\n"; # Pipe the test data to the client while (length $data) { print $client substr($data, 0, 1492 || $opt_b, ''); usleep $opt_s * 1_000_000 if $opt_s; } $client->close; print "Done.\n"; } $server->close;