Недавно я узнал о программировании сокетов Linux, в основном из этого сайт.
На сайте сказано, что использование комбинации домен/тип PF_LOCAL
/SOCK_DGRAM
...
Предоставляет услуги дейтаграмм на локальном хосте. Обратите внимание, что эта служба без установления соединения, но надежна, за возможным исключением того, что пакеты могут быть потеряны, если буферы ядра будут исчерпаны.
Тогда мой вопрос: почему socketpair(int domain, int type, int protocol, int sv[2])
разрешает эту комбинацию, когда, согласно его справочной странице...
Вызов socketpair() создает безымянную пару подключенных сокетов в указанном домене указанного типа...
Нет ли здесь противоречия?
Я думал, что SOCK_DGRAM
в доменах PF_LOCAL
и PF_INET
подразумевает UDP, который является протоколом без установления соединения, поэтому я не могу примирить кажущийся конфликт с заявлением socketpair()
о создании подключенных сокетов.