Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Servers on Windows?

by ysth (Canon)
on Nov 25, 2007 at 21:46 UTC ( [id://652868]=note: print w/replies, xml ) Need Help??


in reply to Servers on Windows?

I'm not clear on whether you are looking for server code (code that listens to a port and accepts connections) or code to install a windows service or both. For the former, perhaps search CPAN for RPC - lots of choices there. (Or just start from what's in perlipc.) For the latter, I see Win32::Daemon; there may be others, too.

Search for openssh for an open source sshd, but I'm not sure what that has to do with the rest of your question.

Replies are listed 'Best First'.
Re^2: Servers on Windows?
by Anonymous Monk on Nov 25, 2007 at 22:26 UTC

    Sorry if I wasn't clear. I am asking for a light weight RPC implementation that I can call from non-Windows systems. Preferably, small and stable. I just need to (infrequently) start a small Perl sysadm program -- and get the result back.

    I have searched for open source sshd and didn't find anything except Cygwin, which isn't light weight.

    This is really trivial functionality. I don't understand why it seems so hard.

      I'm still not managing to see where sshd fits into your question - unless you envision taking its code and turning it into your rpc server, which seems like severe overkill.

      Yes, it is really trivial functionality. Start with Win32::Daemon; take the first part of the first example straight out of the pod:

      use Win32::Daemon; # Tell the OS to start processing the service... Win32::Daemon::StartService(); # Wait until the service manager is ready for us to continue... while( SERVICE_START_PENDING != Win32::Daemon::State() ) { sleep( 1 ); } # Now let the service manager know that we are running... Win32::Daemon::State( SERVICE_RUNNING );
      followed by the single-threaded server code straight out of the perl doc at http://perldoc.perl.org/perlipc.html#TCP-Servers-with-IO%3a%3aSocket, modified to just run your sysadm program and return its output in the body of the accept loop.

      (Untested...)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://652868]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2025-04-28 21:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.