Нет, такой гарантии нет даже с местными розетками. Если вам нужен механизм IPC, который гарантирует доставку в порядке, вы можете использовать полнодуплексные каналы с popen()
. Это открывает канал для дочернего процесса, который может либо читать, либо писать произвольно. Это гарантирует доставку по заказу и может использоваться с синхронным или асинхронным вводом / выводом (select()
или poll()
), в зависимости от того, как вы хотите построить приложение.
В Unix есть и другие опции, такие как доменные сокеты Unix или очереди сообщений System V (некоторые из которых могут быть быстрее), но чтение / запись из канала очень проста и работает. В качестве бонуса легко проверить ваш серверный процесс, потому что он просто читает и пишет из Stdio.
В Windows вы можете посмотреть на Named Pipes, которые работают несколько иначе, чем их одноименные Unix, но используются именно для такого рода межпроцессного взаимодействия.