Hi
I have 2 simple scripts to send short files from a
win2k box to HP unix box ( for learning purposes only
). They work fine, but I am looking for ideas on why
the client (win2k) needs a sleep statement after each
line write. If I leave it out, I get a "Connection
reset by peer" on the receiving end(unix)

Thanks and the relative code is below:
-----

# Server (Receiver on Unix end)
if ($pid = fork) { # parent           
            close(C); 
            waitpid( -1, &WNOHANG );
            next; # ready for another client
        } else  {
            # child
            die "can't fork: $!" unless defined $pid;
            close(S); 
            print C "Connected to $ip:$port ";
            # get file name
            sysread(C, $fname, 128)  or die "couldn't
read: $!\n";
            $fname =~ s/\n//; 
            print "recieving file: $fname\n";
            while ( sysread(C, $buf, 128) ) {
                 $msg .= $buf;
            }
            open (F, ">$fname") or die "couldn't open
it: $!";
            # open a new file with the file name and
write to it
            print F $msg;
            close F;
            print "Recieved file\n";
            exit;
        }
------
# client (win2k sender)
socket(SOCK,AF_INET,SOCK_STREAM,$proto) || die "$0:
Cannot open socket\n";
connect(SOCK, $remote) or die "can't connect: $!\n";
# send filename to server
print "sending file $fname\n";
$bytes = syswrite(SOCK, $fname, length($fname));
sleep 1;
open(F, "<$fname") or die "coundn't open: $!";

@buf = <F>;
foreach $line (@buf) {
        # why do we need to sleep ?
         syswrite(SOCK, $line, length($line)) or die "can't
write: $!";
         sleep 1;
}
close F;






        
                
__________________________________
Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/ 

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to