In case anyone reads this these days, setting "Blocking => 0" works in Win32 now. I found this out after reading complaints that it doesn't and not even trying it myself. It works for me. Here's some sample code of what I'm doing with it:
use IO::Socket::INET;
my $server = IO::Socket::INET->new(PeerAddr => '127.0.0.1',
PeerPort => 12345,
Proto => 'tcp',
Blocking => 0);
my $buf;
while (sysread($server, $buf, 1024))
{
$servdata .= $buf;
print STDERR qq(READ.\n);
}
print STDERR qq(END READING FROM SERVER...\n);
I'm doing more with it, of course, but that's the key parts. I hope it works for everyone else out there. I'm curious to hear if it doesn't.
BTW, I'm using this in ActivePerl 5.10 and PerlTray 7.3.0