EEL5718 Spring 2002 Project
IMPLEMENTATION OF AN INSTANT MESSAGING SERVICE IN JAVA
Bharath Balaji Kannan
Suman Srinivasan
Instructor: Dr. Haniph. A. Latchman
Associate Professor,
Electrical and Computer Engineering,
University of Florida.
The Internet has changed the way we communicate. E-Mail has virtually replaced ordinary letters; e-greetings have supplanted normal snail-mail greetings, and so on. Even the telephone is now under threat, from a new ‘killer application’ on the web that has caught on, especially since 1999. This system is called Instant Messaging.
Instant Messaging is a service that has burst into popularity recently, but has existed for some time. Popular Instant Messaging systems are AOL Instant Messenger (AIM), ICQ, MSN Windows Messenger and Yahoo Messenger.
Basically, what an instant messaging system allows people to do is to maintain a list of other people whom they wish to interact with, called a contact list. When a person on the contact list comes online, the Instant Messenger will inform the user, and the user can choose to initiate a messaging session with the other user if he so desires.
Most Instant Messengers today provide the following features:
Figure 1: An IM session (in Yahoo Messenger)
An Instant Messaging System works as described below:
The process is shown graphically below:

In our project, we plan to implement an instant messaging system in Java. We will program the client and server and code it to include industry-standard features.
The server will be a stand-alone Java application that will perform the following functions:
The client could be either an applet (that could run in a browser) or an application (that can run stand-alone and would be more flexible) that would perform the following operations:
The project will initially focus on simple text messaging. The following additional features will be implemented in the long run:
|
Bharath Balaji |
Suman Srinivasan |
|
|
|
|
Study of Instant Messaging Systems, their design and standards
|
|
|
Modeling the system, defining the protocols
|
|
|
Coding the server end of the system
|
Coding the client end of the system |