diff options
Diffstat (limited to 'java/demo/Ice/multicast/Client.java')
-rw-r--r-- | java/demo/Ice/multicast/Client.java | 97 |
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; } |