Bridging offices..

                                                    Android


Server Side


1. MyServer.java

  1. Runs the Server code
  2. Used to initiate the client authentication and wait for client requests
  3. Populates hash_map from stored file of invited guests.

2. Client.java

  1. Used to start interaction with the clients
  2. The clients receive message from server requesting for their contact information stored in their phones
  3. The IP address of the client can be hard Coded or received from the pool of Mikrotik Router

3. MultiThreadedServer.java

  1. Handles and process’s different kinds of request from clients and server
  2. Message Types
    1. Server2Server
      • attendanceList – To handle request sent from other server to update the List with the received List
    2. Client2Server
      • initialSetup – handle message from client after initial request from server to client for user information. Authenticate user and send confirmation
      • sendMessage – request from client to send message to another client. Look up in map and send the message.
      • getContactinfo – handles Request for contact information messages from requester and forwards message to provider.
      • replyToContact – forwards the reply from the provider to the requester.




Client Side (Android)


1. InitialisationClass.java

  1. Starts the application
  2. Defines the start-up screen
  3. Initiates the communication with the server and waits for authentication
  4. Retrieves the server IP address for future communication
  5. Receives the attendees list

2. NotAuthorized.java

  1. Handles the alert for a non-authorized attendee

3. ListScreen.java

  1. Displaying of attendees list
  2. Handles clicking functionality of an attendee’s name
    1. Send message
    2. Get contact info
  3. Viewing the messages and contact information already received

4. ServerService.java

  1. Background service to receive any packet from the server
  2. Displays the appropriate notification according to the message type received
  3. Upon clicking the notification, the user is guided to the appropriate screen

5. SendMessage.java

  1. Opens text box for typing the message
  2. Send button to send the message
  3. Once sent, returns the user back to attendees list screen

6. MessageReading.java

  1. Handles the message received inbox
  2. Displays the list of names of the users who has sent a message
  3. Upon clicking the desired name the message is displayed which is defined in readRcvdMessage.java

7. ContactRequest.java

  1. Handles the alert for notifying the user about a request for his/her contact info
  2. If user selects “Yes” then the contact info is sent else if “No” is clicked then the rejection message is sent

8. SeeContactInfo.java

  1. Handles the contacts received inbox
  2. Displays the list of names of the users who has sent their contacts
  3. Upon clicking the desired name the contact details is displayed which is defined in readContactInfo.java

9. NegContactRequest.java

  1. Handles the screen to let the user know about the rejection of his/her request for other party’s contact info
  2. Close button will take the user back to the attendees list screen.




Mikrotik Router

  1. DHCP Server enabled on WLAN to set up local network
  2. EOIP tunnel to bridge the two routers on either side of the internet
  3. Registration table retrieval