Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: IO::Socket connect fails to block

by mr.nick (Chaplain)
on Jan 06, 2012 at 19:56 UTC ( [id://946657] : note . print w/replies, xml ) Need Help??


in reply to IO::Socket connect fails to block

And to comment on my own issue, this test script
use strict; use warnings; use IO::Socket::INET; sub server { my $server = IO::Socket::INET->new( LocalPort => 12000, Proto => 'tcp', ReuseAddr => 1, Listen => SOMAXCONN ); die $! unless $server; while (my $sock = $server->accept) { print "Connected to $sock\n"; print while <$sock>; } } sub client { my $sock = new IO::Socket::INET( PeerAddr => '127.0.0.1', PeerPort => 12000, Proto => 'tcp', Blocking => 1 ); print $sock "yes\n"; print $sock "no\n"; print "sock is $sock\n"; } fork || server(); fork || client(); fork || client(); sleep 100;
Works as expected: both "yes" and "no" are correctly outputted even though only one client is connected at a time.

There must be something in my code that's eating the additional lines of text.

Sigh. Thanks for letting me talk this out! :)

mr.nick ...