The code in this distribution is meant to 
accompany the Dr. Dobbs Journal article 
"HTTP-Based Anonymous Communication Channels"
by Marc Waldman and Stefan Kopsell

A java compiler is needed to compile the source.
A compiler can be obtained from http://www.javasoft.com
 
The enclosed files demonstrate how two computers can communicate
via JAP (Java Anon Proxy) - an HTTP-based anonymous 
communication channel. JAP can be obtained at the following URL -
http://anon.inf.tu-dresden.de/index_en.html

You must install the JAP client software 
on the computer that will initiate the conversation. 
To install the JAP client software on your computer 
please refer to the instructions accompanying JAP. 
The JAP installation process is quick and easy. 

Although the code was meant to allow two different
computers to communicate, you can use the code
on a single computer. The same computer can both send
and receive the message. 

Running the example program
---------------------------
Once you have obtained and installed a java compiler
and JAP you can compile and run the example program.

If JAP's proxy port is not set to 4001 (the default value)
then change the "japPort" variable value in the SendMessage.java 
source file. 

The source code illustrates how the client (the computer running JAP)
can send a message to another computer (which we call the server).
The server does not need to be running the JAP software.
Upon receipt of the client's message, the server sends a reply
back to the client.

It is assumed that the server will be listening for connections
on port 1765. If this is not the case, change
the value of the "recipientPort" variable in SendMessage.java
and the "serverPort" variable in Server.java
 
Place the domain name or IP address of the server in
the variable "recipientServer" in SendMessage.java 
Note that the "recipientServer" address can be the same
as the client - if you wish to run the client and
server on the same computer.

Once all of the above changes have been made
compile the java source with the following 
command "javac *.java"

This should create the necessary class files.

If the client and server programs are not running
on the same computer, you must copy all the newly created class
files to the server. Note that you don't need to install
JAP on the server.

Start the server with the command "java -cp . Server"
You must start the server before the client.

Start the client with the command "java -cp . SendMessage"

The client will send a String object to the Server (via JAP).
The Server will read the String object and send a reply
back to the client. All communication is done over JAP.


Please address any questions to 
Marc Waldman
CIS Dept. 
Manhattan College
E-mail: marc.waldman@manhattan.edu
http://home.manhattan.edu/~marc.waldman

