[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

remote process communication



    Date: Thu, 08 Sep 88 14:18:52 EDT
    From: bds@MITRE-BEDFORD.ARPA

    We need to make 2 or more Symbolics 36xx pass messages back
    and forth between processes.  More explicitly, we want to run
    a database on one machine and 1 or more interfaces on other machines.
    Getting processes to talk to each other on the same machine is no
    problem.  Can anyone please tell me how to get them to talk to
    each other when they're on different machines?  Thanks.

    Barry Smith
    bds@mitre-bedford.arpa

You have to define a network protocol and then implement it, using the
facilities described in the "Networks" volume of the Symbolics
documentation.

For quick implementation of protocols we have often defined them to use
Lisp printed representation as the presentation format.  The client
machine opens a stream to the server and sends a command of the form

	(:keyword operands)

using Lisp PRIN1, does a FORCE-OUTPUT, and then does a READ to get the
response.  The server program uses READ to get the command, dispatches
on the keyword, and then PRIN1's the result back over the stream.
You should use WITH-STANDARD-IO-ENVIRONMENT around all the calls to
PRIN1 and READ, to make sure that both sides are using the same package,
readtable, etc.

If you have ILA-NFS, it includes an implementation of Sun's RPC
protocol, and a number of macros that make it relatively easy to define
remote operations.

Of course, there's a bit more to implementing network protocols than
I've described here, but I'm afraid that a more complete tutorial would
not fit in an email message.

                                                barmar