Поскольку среда представляет собой локальную сеть, я могу заменить TCP / IP более простым протоколом, чтобы уменьшить задержку пакетов
Как правило, даже в локальной сети UDP пакеты, как правило, теряются, также они будут потеряны, если клиент
не хватает времени на его употребление ...
ТАК нет, не заменяйте TCP на что-то другое (UDP). Потому что, если вам нужна надежная доставка, TCP будет самым быстрым (потому что все, что связано с подтверждениями и повторной передачей, выполняется в пространстве ядра).
Обычно в обычном случае нет недостатков задержки при использовании TCP (конечно, не забудьте параметр TCP_NODELAY
)
О совместном использовании памяти. Фактически вся выделенная вами память создается с помощью mmap. Поэтому ядро должно будет каким-то образом копировать его в любом случае, когда оно создает пакет из драйвера.
Если вы говорите о сокращении копирования, это обычно делается для файлов / сокетов и
sendfile()
используется, что действительно предотвращает копирование данных между ядром и пользователем. Но я предполагаю
Вам не нужно отправлять файлы.