Description of the problem

The required solution for the project consists of an Inter-office messaging application. The application must be usable within a specific physical location such as an office building, so the systems must be connected to the same Local Area Network (LAN). The following is a list of the specific requirements of the system:

  1. The application must be implemented in a hybrid P2P architecture. A server must manage the user logins, while the messaging will be done directly between peers.
  2. The user application must be able to identify all the peers currently in the network and send and receive messages.
  3. The application must allow the users to save the conversations and give the option to download them into a file.
  4. The application must use the UDP transport layer protocol. It must manage the transmission errors, retransmissions, buffers and queues.
  5. The application will create a socket in port 40000 for the server connection and a socket in port 50000 for the P2P connection.
  6. The server must listen to the broadcast address and be bind to its assigned IP address.

The chosen solution: A Java based application

We chose to use the Java language to create our application for various reasons, including the following:

  1. The Java language is commonly used in the enterprise environment
  2. The project team was familiar with coding in Java
  3. Java provides libraries that specifically use the UDP transport protocol
  4. Oracle provides detailed documentation on how to create UDP servers and clients

Demo Video