in reply to Re: Problem with IO::Async application
in thread Problem with IO::Async application
Thanks for testing. I checked, scripts run OK indefinitely long with Windows Server 2008, where real application is supposed to run. The failure occurs at old 32 bit WinXP, where I have a copy for tests and development. So, false alarm, sorry. Perl is Strawberry 5.24 both, + latest modules
Update. Still, something strange is happening. Let now "server" be as simple as:
use strict; use warnings; use IO::Socket::INET; my $PORT = 53123; my $num = 0; my $sock = new IO::Socket::INET( LocalHost => '127.0.0.1', LocalPort => $PORT, Proto => 'tcp', Listen => 5, Reuse => 1, ) or die; binmode $sock; while ( my $client = $sock-> accept ) { my $str = do { local $/; <$client> }; die "$num\n" unless $str eq '123'; print "$num\n" unless $num ++ % 1000; }
And worker:
use strict; use warnings; use autodie; use IO::Socket::INET; my $PORT = 53123; while () { my $sock = new IO::Socket::INET( PeerHost => '127.0.0.1', PeerPort => $PORT, Proto => 'tcp', ) or die; binmode $sock; print $sock '123'; $sock-> close; select( undef, undef, undef, 0.01 ) }
Again, runs OK indefinitely long with Windows Server 2008, 64-bit Perl. And rarely does it go past a few thousands in WinXP, in:
This is perl 5, version 24, subversion 0 (v5.24.0) built for MSWin32-x86-multi-thread-64int
Which is somewhat disturbing. Is this my machine / installation somehow broken? Can't believe it's Perl issue. For not so long ago 32-bit OS (Windows i.e.) and 32-bit Perl were common.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Problem with IO::Async application (Updated)
by Anonymous Monk on May 02, 2017 at 20:20 UTC |