https://classroom.gateoverflow.in/mod/page/view.php?id=113
Tips:
Use containers (LXC or Docker ) for creating multiple client systems.
Use Google Protocol Buffer or some other serialization-deserialization library for message transfer over the socket.
You can avoid byte oriented message transfer of TCP, by using SCTP instead.