#!/usr/bin/perl -w use strict; use IO::Handle; use IO::Socket; &run_server (); sub run_server { local $SIG{PIPE} = 'IGNORE'; my $servsock = new IO::Socket ( Domain => AF_INET, Type => SOCK_STREAM, Proto => "tcp", Reuse => 1, Listen => 1, LocalPort => 8000, ) or die "new IO::Socket: $!"; print "to test, enter wmget http://localhost:8000/...\n"; while (my $client = $servsock->accept) { $client->autoflush (1); while (<$client>) { print STDERR "> $_"; last if not /\S/; } print STDERR "headers done. sending data...\n"; print $client "HTTP/1.0 200 Ok, here you go...\r\n"; print $client "Content-Type: text/plain\r\n"; print $client "Content-Length: 1000\r\n\r\n"; # generate bogus data, and do it slowly.... for (1..10) { print $client "x" x 99, "\n"; sleep 1; } } }