summaryrefslogtreecommitdiff
path: root/java/demo/Ice/multicast/Client.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/demo/Ice/multicast/Client.java')
-rw-r--r--java/demo/Ice/multicast/Client.java97
1 files changed, 18 insertions, 79 deletions
diff --git a/java/demo/Ice/multicast/Client.java b/java/demo/Ice/multicast/Client.java
index b5ea6c11d42..b5a918ef129 100644
--- a/java/demo/Ice/multicast/Client.java
+++ b/java/demo/Ice/multicast/Client.java
@@ -11,33 +11,6 @@ import Demo.*;
public class Client extends Ice.Application
{
- class ShutdownHook extends Thread
- {
- public void
- run()
- {
- try
- {
- communicator().destroy();
- }
- catch(Ice.LocalException ex)
- {
- ex.printStackTrace();
- }
- }
- }
-
- private static void
- menu()
- {
- System.out.println(
- "usage:\n" +
- "t: send multicast message\n" +
- "s: shutdown server\n" +
- "x: exit\n" +
- "?: help\n");
- }
-
public int
run(String[] args)
{
@@ -47,64 +20,30 @@ public class Client extends Ice.Application
return 1;
}
- //
- // Since this is an interactive demo we want to clear the
- // Application installed interrupt callback and install our
- // own shutdown hook.
- //
- setInterruptHook(new ShutdownHook());
-
- HelloPrx proxy = HelloPrxHelper.uncheckedCast(communicator().propertyToProxy("Hello.Proxy").ice_datagram());
+ Ice.ObjectAdapter adapter = communicator().createObjectAdapter("DiscoverReply");
+ DiscoverReplyI replyI = new DiscoverReplyI();
+ DiscoverReplyPrx reply = DiscoverReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI));
+ adapter.activate();
- menu();
+ DiscoverPrx discover = DiscoverPrxHelper.uncheckedCast(
+ communicator().propertyToProxy("Discover.Proxy").ice_datagram());
+ discover.lookup(reply);
+ Ice.ObjectPrx base = replyI.waitReply(2000);
- java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
- String line = null;
- do
+ if(base == null)
+ {
+ System.err.println(appName() + ": no replies");
+ return 1;
+ }
+ HelloPrx hello = HelloPrxHelper.checkedCast(base);
+ if(hello == null)
{
- try
- {
- System.out.print("==> ");
- System.out.flush();
- line = in.readLine();
- if(line == null)
- {
- break;
- }
- if(line.equals("t"))
- {
- proxy.sayHello();
- }
- else if(line.equals("s"))
- {
- proxy.shutdown();
- }
- else if(line.equals("x"))
- {
- // Nothing to do
- }
- else if(line.equals("?"))
- {
- menu();
- }
- else
- {
- System.out.println("unknown command `" + line + "'");
- menu();
- }
- }
- catch(java.io.IOException ex)
- {
- ex.printStackTrace();
- }
- catch(Ice.LocalException ex)
- {
- ex.printStackTrace();
- }
+ System.err.println(appName() + ": invalid reply");
+ return 1;
}
- while(!line.equals("x"));
+ hello.sayHello();
return 0;
}