A concurrent TCP client-server application written in C that processes image requests using OpenCV. Clients submit images for face detection or face replacement, and the server returns processed output images using a defined binary communication protocol.
- TCP client-server communication
- Multithreaded request handling
- Face detection and face replacement using OpenCV
- Custom binary communication protocol
- Configurable concurrent connection limits
- Maximum request-size validation
- Synchronisation using semaphores and mutexes
- Signal-based server statistics reporting
- Defensive handling of invalid images and malformed requests
C, TCP sockets, pthreads, semaphores, mutexes, signals, OpenCV, binary protocols