通用套接字地址结构:sockaddr,几种具体实现为sockaddr_in和sockaddr_in6
表示和数值之间的转换:inet_ntop/inet_pton"213.0.99.98" <-> 0x626300d5
服务器:socket->bind->listen->accept------------>read->write------>read->close
| | |
客户机:socket------------------->connect->write----------->read->close
服务器启动时没有任何报文主动发送出来。当server调用accept之后,将阻塞并等待client连接。当client调用connect进行连接时,client主动发起三次握手。当client/server向socket描述符写数据时,发送一个PUSH报文。当client调用close关闭套接字描述符时,发送四次挥手。
如果子进程先于父进程退出,而父进程又没有调用wait/waitpid,则子进程会成为僵死进程。僵死进程的一个问题是占用的系统资源没有被及时清理。可以通过wait系列函数或者处理SIGCHLD来清理僵死进程。