in reply to Re^7: Timeout for an established connectionin thread Timeout for an established connection
What OS are you using?
It looks like all linux kernels since 2.6.32 has implemented TCP_USER_TIMEOUT; which would definitely be the better option if it is available to you.
This is something I have long done.
Hm. Makes me wonder why you are asking here, if you already have a solution?
Maybe this is an error in the syntax? setsockopt($sock, 6, 18, pack("QQ", 5, 0))
That does look suspect to me.
According to this (4th post), the parameter is the address of an int containing the timeout in milliseconds. Given you are on a 64-bit build I'd expect to use something like this in Perl:
setsockopt( $sock, 6, 18, pack( "Q", 5000 ) )
my $userTimeout = 5000;
setsockopt( $sock, 6, 18, \$userTimeout );
1. Keep it simple
2. Just remember to pull out 3 in the morning
3. A good puzzle will wake me up
Many. I like to torture myself
0. Socks just get in the way
Results (386 votes). Check out past polls.