第五章:
主要是一个最简单的CS例子,多进程模型。具体可以看书。
这里有些值得注意的地方:
(1)处理子进程的僵死状态。每个fork都要wait。进程退出会向父进程发送SIGCHLD信号,在信号处理函数里面需要wait~,下面会说到应该循环调用waitpid确保子进程退出时都能处理到。
(2)当慢系统调用如accept被中断时,errno会被置为EINTR,要做好处理。
上面讲客户端退出,接着讲服务端退出。分几种情况:
服务器进程终止(会发送FIN给客户端)、服务器崩溃(TCP重传)、服务器重启(对客户发送RST,客户可能会收到ECONNRESET错误)。
最后还提了一下发送的数据格式可能存在的错误及解决办法。
阅读(1245) | 评论(0) | 转发(0) |