20-CS-694 Advanced Programming Techniques Spring 2012
Homework Assignment 5

Interfaces, Exceptions, Graphics, Animation, Threads, Reflection, Networking, RMI, JDBC, JNI

Communicating with the Project Monitor

Due: May 20, 2012 (submit instructions: here)

Rationale:
    To write basic code for communicating with the monitor that will be used in the final project. Gain familiarity with the design and use of elementary protocols. Prepare for necessary components of the final project.
 
Homework Problem:    
Write Java code to support communication with a Monitor. The Monitor listens for connection requests on port 8160 of helios.ececs.uc.edu. A request for a connection is made by a Client who also supplies a port and host containing the Client's Server. The Monitor then authenticates itself to the Client by sending a secret to the Client's Server over the specified channel. Details of the protocol, including all commands and directives you need to support, are given here. A description of the project is given here.

We provide sample Java code which is the beginning of an Active Client, a Client's Server, and the means to start them. Here is skeleton for the MessageParser class.

The following are useful documentation:   Handshake demo    RSA description    Hash description    Karn description