Rick
Learning Objectives
Demonstrate your ability to write client-server applications
Utilize the ServerSocket, Socket, and Thread classes to write multi-threaded server applications
Utilize the DataInputStream and DataOutputStream classes to send data between socket-based client and server applications
Formulate and apply proprietary network application protocols for use in client-server applications
Utilize Remote Method Invocation (RMI) to create client-server applications
Utilize the Properties class to store and retrieve application properties
Utilize the Class.forName() method to dynamically load classes at application runtime
Utilize the Singleton pattern in an application
Utilize the Factory Class pattern in an application
Ensure the proper destruction of objects through the use of a finalize() method