javaMessenger~
B

efore running the javaMessenger (jM) client, the Messenger server must be started. The Messenger server uses the Java RMI (Remote Method Invocation) architecture. So, the rmiregistry must be started first, after the rmiregistry has been started on specific port then we run the server on the same port. For instance:

        rmiregistry 2001
        java ICServer 2001

javaMessenger is different than Snapster in that remote methods are invoked on the server and the client. This is how the server and the client talk to each other. The benefit of doing this, as you will see later, is that the server can contact the client as and when it needs to; instead of the client always having to contact the server for updates.

Ok, now that the Messenger server is up and running we can start the client with the following command (assuming the java executable is in your system path).

        java ICClient
Every time we run javaMessenger it looks for a settings file in the current working directory. If the settings file is not found, as in our case since this is the first time we are running the client, the user is informed that they need to enter some information.
Upon clicking the "Ok" button we are presented with the settings screen. Naturally, we enter the required information and click the "Ok" button again.
The user is then informed that the server has been contacted.
If, however, we happened to enter the wrong server name or port #, a message would appear informing us that the server could not be contacted and we would then be taken back to the settings screen.
But, since we entered the correct information, we get the first message and, after clicking Ok, we are taken back to the initial login screen. And, Since this is our first time running the client, we need to create a new user account first. This is done through the the pull down javaMessenger menu.
So, we fill in the information fields and click the submit button. The E-Mail field must be filled in correctly because a confirmation number is emailed to the new user.
A few seconds will pass until the email is sent. After the email is sent, the user is informed that they should receive an email with a confirmation number.
The confirmation number is a unique randomly generated number. The email looks like this:

        Thank you for using javaMessenger~
        Your confirmation number is: 85411
If the User ID is already taken, the user is informed and they are taken back to the user signup screen to choose a different User ID.
Our User ID was unique, so we are taken back to the login screen where we login for the first time.
Since this is our first login, we would see this.
And we would enter this.
If we happened to enter the wrong confirmation number we would get this error.
If we happened to enter the wrong User ID we would get this error.
If we happened to enter the wrong password we would get this error.
But, if everything goes as planned we would get this message, and we would be automatically logged in. (The confirmation number is only required on the first login. Subsequent logins do not require the confirmation number)
In the case that no users are online, the message "No Users Online" will appear in the top of the contacts list.
As users login each user's contact list is automatically updated by the server. Now clangsto sees dave and dave sees clangsto and so on. The same thing occurs as users logoff.
Now if clangsto wants to send a message to dave all he has to do is select "dave" and click the "Send Message" button.
Then, a window will pop up asking dave if he wants to start a chat with clangsto.
If dave says no, a message is displayed in clangsto's chat box.
Now, all that is left to do is talk.
Which is achieved by typing a message in the message field and pressing enter.
When either of the two people closes the chat box a message is displayed to tell the other person that their chat buddy has left.

This was a general overview of the javaMessenger system. If you have any further questions please do not hesitate to contact me at chad@chadlangston.com.

Thank you for reading. I hope you enjoyed it. -Chad