new POE::Component::Client::TCP( ......... ......... Connected => { my ($socket, $peer_addr, $peer_port) = @_[ARG0, ARG1, ARG2]; setsockopt( $socket, SOL_SOCKET, SO_KEEPALIVE, 1 ); } ......... );
2009/10/21 Adams Sean <seanad...@seanadams.com> > > never mind, this was easy to enable globally by modifying SocketFactory.pm > @ line 706: > > setsockopt($socket_handle, SOL_SOCKET, SO_KEEPALIVE, 1) or do { > $poe_kernel->yield( > $event_failure, > 'setsockopt', $!+0, $!, $self->[MY_UNIQUE_ID] > ); > return $self; > }; > > Although I think POE should expose the option to users of Client::TCP... do > you want a patch for this? > > > > On Oct 19, 2009, at 11:14 AM, Adams Sean wrote: > > >> >> What is the best way to enable TCP keepalive on a >> POE::Component::Client::TCP session? >> >> >> I am using POE for home automation and I have connections which are often >> idle for hours, or only get traffic in the receive direction. In these cases >> there is no indication that the connection has failed if, for example, the >> endpoint resets due to power outage. >> >> >> >