in reply to Non-blocking socket read on Windows
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Non-blocking socket read on Windows (WORKS!)
by sdetweil (Sexton) on Aug 04, 2009 at 15:00 UTC |