I have worked on similar monitor program on Windows platform at work except for the webcam streaming functionality. I am confident in finishing the project if it is on Windows platform. Please kindly state the platform you are going to work on.
Application will contains a client application with its configuration xml (server address) and a server application with its configuration xml (Webcam stream on/off, image replacement on/off). Should there be a settings on the interval between each capture of monitor data?
To make the client start at startup and stay during the computing is running, I would make it to be a service, which automatically run when Windows starts. Based on the rule given, the client should start the monitored application right after it start, please kindly advise if it is the case.
The client will open a TCP/IP socket and try connecting to a server (server address will be read on the client's xml) once started. Once it connects, the server will initiate the client to start data transaction (sending monitor data, webcam stream). Whenever connection is lost, client will retry connecting to server.
Please kindly address what should the client do when connection to server is not available, should it log the data to local storage or something else?
Please also kindly address if the server needs to handle multiple client or not.
Thank you for your time. I am looking forwards to hearing from you.