似乎至少有 3 种不同的本地/unix 套接字类型 ( AF_UNIX
) SOCK_STREAM
、SOCK_DGRAM
和SOCK_SEQPACKET
.
虽然我知道 aSOCK_STREAM
给你一个双向字节流,比如 TCP 或双向管道,而另外两个给你一个 messge/packet API,但 unix 套接字SOCK_DGRAM
和有什么区别SOCK_SEQPACKET
?
由于这些只是本地的,我想不出有人会SOCK_DGRAM
以一种可以重新排序数据包的方式实施的充分理由。
此外,是否SOCK_DGRAM
/SOCK_SEQPACKET
采用流量控制,或者在阅读速度慢的情况下是否可以丢弃消息?