Learning the C socket API