1.使用包裹函数
主要是为了简化代码,不去重复敲检查错误的代码,添加错误输出,以及在出口时终止程序的运行。
2.使用POSIX的类型,如uint32_t,uint8_t
但是为了更加方便,typedefu32和u8。
3.封装出错处理,主要为系统调用出错处理和自定义函数出错处理
如出错后打印消息退出,sysExit和errExit。
4.清零时用bzero而不是memset
5.地址由字符串转为整数时,使用inet_pton
6.将struct sockaddr typdef为SA
7.缩短2行代码为1行
小于号的优先级高于赋值运算符,所以先执行优先级低的运算符。
sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd) /* <--> */ if (sockfd = socket(AF_INET, SOCK_STREAM, 0) < 0)