/** * This Class implements a basic test client to GenericServices * @version 1.0 * @author Tim Stefanini */ import java.io.*; import java.net.*; public class GenericClient //e.g. example use of Dynamic Service Loading { public static void main(String[] args) { try { new ServiceLoader(); //Load and Start all Service Classes //You can probably make this simpler by creating a higher //level connection class, but this shows how it works. //Create Input and Output Sockets for Service1 - CAPS int iServerPort = CapService.GetPort(); //Get port for Service Type Socket CapSocket = new Socket("localhost", iServerPort ); //Create Communication Socket //Create Input and Output Sockets for Service2 - Reverse int iServerPort2 = ReverseService.GetPort(); Socket ReverseSocket = new Socket("localhost", iServerPort2 ); //Use Caps Service PushToService("This is a fine class", CapSocket); PushToService("This is a another good test", CapSocket); //Use Reverse Service result = PushToService("This is a fine class", ReverseSocket); PushToService("This is a another good test", ReverseSocket); }//end try catch (Exception e) { e.printStackTrace(); }//end catch finally { pause (300); } }//end main private static String PushToService( String data, Socket ServiceSocket) { String s = null; try { DataInputStream inStream = new DataInputStream(ServiceSocket.getInputStream()); PrintStream ps = new PrintStream(ServiceSocket.getOutputStream(), true); //true=autoflush ps.print(data + "\r\n"); //add line terminator for DataInputStream ReadLine() if (( s = inStream.readLine()) != null) System.out.println("client received :" + s +":"); }//end try catch (Exception e) { e.printStackTrace(); }//end catch finally { return s; }//end finally }//end PushToService //Pause makes it easier to see output when you are running this //from your applicatoin dev environment private static void pause(int time) { for (int x=1; x< 1000000; x++) for (int y = 1; y< time; y++); }//end pause() /* These methods are replaced by "ServiceLoader" private static void CreateReverseService () { ReverseService server = new ReverseService (); server.Activate (); server.StartUp (); }//end CreateReverseService() private static void CreateCapService () { CapService server = new CapService (); server.Activate (); server.StartUp (); }//end CreateReverseService() */ }//end class GenericClient