In the application the trickiest part was the implementation of the action files associated with IC1 and IC2. They have been implemented using TCP sockets.

Implementation of IC 2:

Implementation of IC 1: