You have chosen to sponsor your bid up to a maximum amount of .
Please read the full project description below thoroughly to have a understanding of the project and reply with your proposal and any questions you may have if you need any further clarifications. This should be a simple project for a person with the proper skill set. Please read below. Thank you!
- A Java based simple SERVER program (httpnotify) needs to be written to be installed on a tomcat 7 server to forward HTTP POST Strings to registered clients.
CLIENT software (Java app) also has to be written to register itself as a listener to the SERVER and then receive the same HTTP POST String that was sent to the server.
- This will be used to transmit Caller ID information from a VOIP service to multiple clients of an application.
SERVER software notes :
- Java based code designed to run on Tomcat 7 that will forward all HTTP POST Strings sent to it.
- A HTTP POST String will be sent to a specified IP address (for example) : http://schoolrollbook.com:8080/httpnotify/RelayServer.do?
Server must be listening also for computers registering as listeners (for example) : http://schoolrollbook.com:8080/httpnotify/AddClient.do?
A listener passes a PORT# and an IP to the server program
A listener should expire from the listener list after 10mins if it is not re-registered.
There may only be 1 distinct PORT# / IP combination allowed
There should be a 'handshake' test available between the client and server to know that it was successfully registered with the PORT# / IP combination
Once a HTTP POST is received by the server (http://schoolrollbook.com:8080/httpnotify/RelayServer.do?) it should :
1) check the received format to make sure it is in the correct format ([STRING]$dialed=[STRING]&caller=[STRING]&name=[STRING])
2) blast out to all listeners simaltaneously their specified IP / PORT# in the same format it was received
Speed is key.. The instant it received the message it needs to be sent out to all listeners similtaneously. Since the Caller ID information must be given in real-time.
CLIENT software notes :
- The client must be a Java application
- once running the client will initiate registration with the server (http://schoolrollbook.com:8080/httpnotify/AddClient.do?)
- the client will submit both the port# it wishes to be communicated on along with its WAN IP address.
- it will then wait for a response back from the server to know that the communication is successful.
- the client will then listen for anything on the specified port and print it to the System.out
- every 8 minutes it will refresh its registration with the server to continue to receive communications (since the server will expire client communications after 10mins).
- it should refresh registration and listen for incomming messages in separate threads so the listening thread is not delayed.
- war file for upload to Tomcat 7 for the 'SERVER' software
- stand alone client application
- all source code with detailed explanations
To Be Considered for this Project :
- Thank you for taking the time to understand the project. Please reply to this project stating your first name and your favorite color as your last name.