This is a simple CORBA example that has an object (Echo) with only two methods; one that returns the message to be displayed and another that shuts down the server.
To keep this example simple, the server advertises its IOR in the following manner; the server program writes its server object's IOR to an ior_file. Later on, the client reads this IOR from the specified ior_file and uses the 'string_to_object' method to obtain a reference to the server object.
For this mechanism to work, the file must be readable and writable. If it doesn't exist, a new file is created by the server. Moreover, the file path must be accessible to both the client and server.
If the client and server are on different machine, then there must be a shared directory accessible by both. On UNIX systems this is typically done via the NFS mount command. On Windows, the 'explorer' application provides an option to share drives.
In general if no such file sharing option is available, then using the the Naming Service mechanism is the only alternative, as described by the -n option below. There are other command line options available for the server and client which are also explained below.
server [-d] [-o <IOR_file_name>] [-n]
Options
When the server is started, you should see as the first line of output
something that looks like
iiop:1.0//danzon.cs.wustl.edu:10015/P35ad159600081a38/child_poa/server
(-ORBobjrefstyle url)
or
IOR:000000000000001649444c3a43756269745...(-ORBobjrefstyle ior)
Using -d turns on debugging messages. This option is additive, i.e., the more -d options provided, the more debugging you can get. At the moment, only 2 levels of debugging are implemented, and more than 2 -d options are ignored.
The ior is the reference used by the client to interact with the target server object.
client [-d] [-x] [-f <IOR_file_name>] [-k IOR] [-n naming service]
Options
You can either cut and paste the IOR from the server to the client (with the -k option), have the client read the IOR from a file using the -f option (this file is produced using the -o option of the server), or use the naming service (with the -n option).