Похоже, что существует по крайней мере 3 различных типа сокетов local/unix (AF_UNIX
), SOCK_STREAM
, SOCK_DGRAM
. ] и SOCK_SEQPACKET
.
Хотя я знаю, что SOCK_STREAM
дает вам двунаправленный -поток байтов, такой как TCP или двунаправленный канал, а два других дают вам API сообщений/пакетов, в чем разница между unix-сокетом SOCK_DGRAM
и SOCK_SEQPACKET
?
Поскольку они только локальные, я не могу придумать веской причины, чтобы кто-то реализовал SOCK_DGRAM
таким образом, чтобы он мог переупорядочивать пакеты.
Кроме того, используется ли SOCK_DGRAM
/ SOCK_SEQPACKET
управление потоком или сообщения могут быть удалены в случае медленного чтения?