Socket = 文件描述符。Unix 哲學:「一切皆文件」。網絡連接、管道、終端、磁盤文件統一用 int fd 操作,read()/write() 或 send()/recv() 均可。
| 流式 SOCK_STREAM | 數據報 SOCK_DGRAM | |
|---|---|---|
| 協議 | TCP | UDP |
| 可靠性 | 可靠、有序、無錯誤 | 不可靠、無序、可能丟包 |
| 連接 | 面向連接 | 無連接 |
| 典型應用 | Telnet, HTTP, SSH | TFTP, BOOTP, DNS 查詢 |
| 流控 | 滑動窗口 | 應用層自行實現 ACK/重傳 |
如 TFTP:每包必須收到 ACK,超時重傳,序號去重。這就是「在不可靠信道上構建可靠協議」的經典模式。
AF_UNIX):本機進程間通信,路徑名寻址摘自 xiaobin_HLJ80 的專欄