из-за недостаточного размера буфера трубы.
аюсь выбирать междутрубы а такжеUnix сокеты для механизма IPC.
Оба поддерживаютselect()
а такжеepoll()
функции, это здорово.
Теперь каналы имеют 4-килобайтную (на сегодняшний день) «атомарную» запись, что гарантируется ядром Linux.
Существует ли такая возможность в случае сокетов Unix? Я не смог найти ни одного документа, в котором бы указывалось это явно.
Скажем, я использую сокет UNIX и записываю x байтов данных из моего клиента. Я уверен, что эти x байтов будут записаны на стороне сокета сервера, когда мой серверselect()
трещины?
По той же теме, будет ли использование SOCK_DGRAM гарантировать, что записи являются атомарными (если такая гарантия возможна), поскольку дейтаграммы должныбыть отдельные четко определенные сообщения?
В чем тогда будет разница при использовании SOCK_STREAM в качестве режима передачи?
Заранее спасибо.