fcvw has asked for the wisdom of the Perl Monks concerning the following question:

Hello,

I have an application that uses Net::Server::PreFork. I would like to be able to run that programme on Win32. It seems Net::Server won't run on Win32. Is there a workaround?

Thanks, F.

Replies are listed 'Best First'.
Re: Net::Server on Win32?
by CountZero (Bishop) on May 06, 2005 at 18:37 UTC
    There is a version of Net::Server on ActiveState's PPM according to http://cpan.uwinnipeg.ca/module/Net::Server but only for Perl 5.6.

    However, the ActiveState PPM site for Perl 5.6 and 5.8 says it failed to build on Win32.

    So I tried to install it myself with the CPAN module, but unfortunately all tests using some form of "FORK" hang on the fourth item tested. Also the UNIX test fails.

    I then deleted all these test files and installed it nevertheless and ran the example in the docs (the one using PREFORK) and that ran fine.

    CountZero

    "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

      Thank you very much for this info. My test failed also, but I'll simply give it a go.
Re: Net::Server on Win32?
by radiantmatrix (Parson) on May 06, 2005 at 14:41 UTC
    > Is there a workaround?

    Probably. What are you doing with it, and what have you tried so far? Perhaps you should read a bit about asking questions, and about how to ask questions effectively on this site. It is difficult to answer a question without some detail and background, and it is unrewarding to answer a question when it is unknown what efforts have been made by the querant thus far.


    The Eightfold Path: 'use warnings;', 'use strict;', 'use diagnostics;', perltidy, CGI or CGI::Simple, try the CPAN first, big modules and small scripts, test first.

      The working script is very simple, and is basically one of the example codes distributed with Net::Server. The server waits for a message, and when it receives one it extracts some data from it and gets a datafile from the connecting system. (No, the system calling cannot upload).
      I hope this explains my question in enough detail. The reason I use this server is that it can take some time to retrieve the data. F.
      #!/usr/bin/perl package MyServer; use vars qw(@ISA); use strict; use Net::Server; use Net::Server::PreFork; @ISA = qw(Net::Server::PreFork); ### run the server MyServer->run(); exit; sub configure_hook { my $self = shift; $self->{server}->{port} = ['*:1234']; # $self->{server}->{chdir} = 'datadir'; # $self->{server}->{setsid} = 1; # } sub process_request { my $self = shift; my $prop = $self->{server}; my $addr= $prop->{peeraddr}; local %ENV = (); my $line = <STDIN>; &getdatafile($addr,$line); } sub getdatafile { #... }