Linux network programming practice