explained code server.c