Matt Herbert writes:

> Does anybody actually understand RPC?  

Yes.  Actually I use it in my current project.

> I know it's
> short for Remote Procedure Call, but whats the advantage of RPC?

Imagine you had two different processes that you wanted to communicate
across a network.  One is probably a client and one is probably a
server.

You might decide to come up with some {ad hoc} communications protocol
for these two entities to talk to each other.  For example, you might
decide that you want reliablity so you decide to use TCP.  And then
you come up with some {ad hoc} protocol to facilitate the
communication between the client and server.  Something like "0x01 if the
British are coming by land and 0x02 if the British are coming by
sea".  Etc.

But this is all extremely {ad hoc}, and you find yourself spending a
lot of time banging your head on the limitations of your protocol.

At this point you might want to consider using RPC.  If you know how
to use RPC, you can stop concerning yourself with the nitty gritty
details of how your protocol works and instead think this way:  

        I'm the client and I want to call a function on the server
  with these arguments and then receive the results.
  
And (speaking in *very* general terms) this just happens.

The RPC layer takes care of moving the arguments accross the wire for
you and returning the results.  If you happen to be using ONC RPC, it
will even take care of endian issues and such for you.

So you get to spend more time worrying about the messages that your
client and server exchange rather than how they are transported.
Which, sometimes, is a very big win.


If you're familiar with CORBA or Java's RMI they're similar....



> Is it a protocol
> like TCP or UDP? or just a service like ftp or telnet?

RPC can run on top of either TCP or UDP.

Normally RPC servers use ephemeral ports.  The portmapper is the thing
that maps RPC requests from RPC clients to the ephemeral ports that
the RPC servers are listening on.

I hope this clears things up.

--kevin
-- 
Kevin D. Clark          |                          |
[EMAIL PROTECTED] | [EMAIL PROTECTED] |  Give me a decent UNIX
Cabletron Systems, Inc. | PGP Key Available        | and I can move the world
Durham, N.H. (USA)      |                          |


**********************************************************
To unsubscribe from this list, send mail to
[EMAIL PROTECTED] with the following text in the
*body* (*not* the subject line) of the letter:
unsubscribe gnhlug
**********************************************************

Reply via email to