diff options
Diffstat (limited to 'TAO/examples/Simple/chat/README')
-rw-r--r-- | TAO/examples/Simple/chat/README | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/TAO/examples/Simple/chat/README b/TAO/examples/Simple/chat/README new file mode 100644 index 00000000000..5a7eeeb4764 --- /dev/null +++ b/TAO/examples/Simple/chat/README @@ -0,0 +1,97 @@ +$Id$ + +This is a simple chat application that uses the TAO CORBA ORB. It +consists of a client and server programs. The server broadcasts +messages from one client to all the clients registered with it. The +client(s) register with a running server. It has a very simple user +interface that accepts strings from the user and sends it across to +the server. The client code also demonstrates the use of the +ACE_Event_Handlerclass to accept user input events. + +server: +------- + +server [-o <ior_output_file>] + +Options: +------- +-o Outputs the server ior to the file specified. + +On successfull initialization, the server displays a message that it +is running and waits for clients to register with it. If the [-o +<ior_output_file>] option is not specified on the command line then +the the server will write the IOR of the server CORBA object to a +default file - "chat.ior". + +Passing the Server IOR to Clients: +--------------------------------- + +To keep this example simple, the server advertises its IOR in the +following manner - The server program writes its server object's IOR +to a 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 system's 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. To preserve its +simplicity, this example does not provide the feature to use a Naming +Service. An example of such a use is $TAO_ROOT/examples/Event_Comm/. + +client: +------- + +client [-n <your_nick_name> -f <ior_input_file>] + +Options: +------- +-n The nickname that the chat user wants to use. +-f Reads the server ior from the file + +The nickname specified by the user is displayed by the chat server to +all the clients. To quit the chat, type "quit". + +If the [-f <ior_input_file>] option is not specified on the command +line then the client will attempt to read the IOR of the server CORBA +object from the default file - "chat.ior". + +VxWorks +------- +On VxWorks, it's easiest to run the client without any command +line options. That way, its stdin can be captured: + + -> ld < server + value = 400826292 = 0x17e41fb4 + -> spa main + value = 0 = 0x0 + Running chat server... + -> ld < client + value = 399329360 = 0x17cd4850 + -> main + + using defaults. nickname = noname, filename = chat.ior + + ============= Simple Chat ================= + ========== type 'quit' to exit =========== + : **** noname has joined the chat **** + + hello + : [noname] hello + + goodbye + : [noname] goodbye + + quit + value = 0 = 0x0 + +NOTE: if you built your VxWorks executables with g++, replace "main" +with "ace_main" above. See ACE-INSTALL.html for an explanation of why +ACE renames "main" to "ace_main" with g++ on VxWorks. |