in reply to IO::Socket client does not detect when server network connection dies

Logic like this is sometimes well designed using Finite State-Machine (FSM) logic ... for which there are, of course, Perl packages (if you can’t find a package that is even-more well suited to your purposes).   I have found this approach to be very well-suited to ironing out the complexity from otherwise-ornery algorithms that need to “react to” unpredictably changing conditions.

Replies are listed 'Best First'.
Re^2: IO::Socket client does not detect when server network connection dies
by bkchris (Initiate) on Jul 13, 2011 at 14:03 UTC

    Thanks everyone for the feedback. I was to 'heart beat' the connection with IO::Select and can_read(). I'm sure I'll need to tweak it as I dig deeper, but this is a better start.

    my $i = 1; while ( $i > 0 ){ if ($sel->can_read(20)) { my $line = <$socket>; print $line; } else { $socket->send(";"); } }