Socket programming exercise.