Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: bidirectional IPC (Linux)

by jepri (Parson)
on Nov 07, 2001 at 14:49 UTC ( [id://123797]=note: print w/replies, xml ) Need Help??


in reply to bidirectional IPC (Linux)

I'm pumping my own work here, but I wrote a module called ForkMe to do exactly this, with a nice OO interface. I use it heavily for my own forking code.

____________________
Jeremy
I didn't believe in evil until I dated it.

Replies are listed 'Best First'.
Re: Re: bidirectional IPC (Linux)
by Mirage (Sexton) on Nov 07, 2001 at 21:12 UTC
    thanks, I will look it up later and reply or msg if I have problems(hopefully this is what I was looking for)
Re: Re: bidirectional IPC (Linux)
by Mirage (Sexton) on Nov 09, 2001 at 02:54 UTC
    After looking at your module i think its of no real use
    for me, nor for any other real server application, or
    forking application, because having one one port for each
    process is too much, and why don't you use unix-domain-sockets?
      Couple of responses:

      • I was under the impression that every network socket has an associated domain socket (not that I ever checked).
      • You said you had already tried UDS
      • Exactly how many processes were you planning to use? There are 64000 possible sockets which means that you can have 32000 forked processes before you run out of sockets.
      • If you are trying to write code for a machine that can handle 32000 processes, grab the Apache source code since that is the canonical example of a really good forking server. And then give me an account on your machine :)
      • If you read the pod, my goal was portable reliable forking IPC.
      • I am currently reworking the architecture so that you can drop in any transport layer that you want to use - I have a demo using SysV message queues, and I can't wait to hear your comments on that one.
      • The basic architecture of my code is useful for a preforking server, regardless of the transport layer. For someone who doesn't even know what select does, you seem to be pretty good at pointing out why code you don't understand is unsuitable for your purpose.

      ____________________
      Jeremy
      I didn't believe in evil until I dated it.

        >You said you had already tried UDS

        i dont think that either uds or sockets are good for that, but ok that may be wrong

        >I am currently reworking the architecture so that you can drop in any transport layer that you want to
        >use - I have a demo using SysV message queues, and I can't wait to hear your comments on that one.

        cool

        >The basic architecture of my code is useful for a preforking server, regardless of the transport layer.
        >For someone who doesn't even know what select does,
        >you seem to be pretty good at pointing out why code you don't understand is unsuitable for your purpose.

        sorry about that, but i read the pod, and thats what i took as source for my opinion, but nevertheless i will try your module, and maybe then, if i ever get it running with pipes, will compare the speed and reliability of both. But sure, your way is an easy one.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2024-03-29 05:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found