http://www.perlmonks.org?node_id=272117


in reply to Perl Sockets Problem

Your client is fine (and most of your 'server' too).
Using Data::Dumper, I very quickly found out that $storage (actually $_) is not defined the way you tried. Why don't you try something like this:
my $new_sock = $sock->accept(); while (my $storage = <$new_sock>) { print $storage . "\n"; $new_sock = $sock->accept(); } close($sock);
That will give you a loop until you manually kill the script. If you just want to receive one message then take out the $new_sock = $sock->accept() that's inside the while loop. If you want to keep the socket open for multiple messages, but also want to make sure the socket is cleanly closed (which my above example does not do). Write a SIG handler that makes sure the socket gets closed upon receiving a SIGHUP, SIGTERM, etc.
HTH,
Chris

Replies are listed 'Best First'.
Re: Re: Perl Sockets Problem
by JoeJaz (Monk) on Jul 10, 2003 at 15:57 UTC
    Thanks! That looks like a good way to keep a continuous connection open between the two hosts. This should be very helpful for my application. I intend to use perl to fork off processes in a cluster. Looks like sockets has some good potential. Thanks again.
    Joe