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
In reply to Non-blocking socket read on Windows (WORKS!)
by wilsond
in thread Non-blocking socket read on Windows
by spurperl
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |