Векторные сетевые функции sendvec() и recvvec()

12 января 2026

ID vfs_vec_socket

API определен в заголовочном файле sysroot-*-kos/include/kos/vec_socket.h из состава KasperskyOS SDK.

API позволяет отправлять несколько сетевых пакетов в одном IPC-сообщении, что ускоряет работу с сетью в KasperskyOS.

При использовании функций send() или recv() стандартной библиотеки языка C для каждого вызова этих функций создается отдельный IPC-вызов, что может замедлять работу с сетью. При отправке большого количества маленьких пакетов в силу архитектуры KasperskyOS возникает большое количество IPC-сообщений.

Интерфейс sendvec()/recvvec(), в отличие от функций readv()/writev() стандартной библиотеки языка C поддерживает не только отправку/получение нескольких пакетов на один сокет, но и отправку/получение нескольких пакетов на несколько сокетов.

Сведения о функциях API приведены в таблице ниже.

Использование API

Чтобы отправить пакеты, нужно инициализировать сетевой интерфейс; создать сокеты для соединения с сервером; создать и инициализировать структуру outvec, содержащую дескрипторы сокетов для соединения с сервером и указатели на пакеты для отправки; а затем вызвать функцию sendvec().

Чтобы принять пакеты, нужно создать сокеты, принимающие запросы на входящие соединения; создать и инициализировать структуру invec, содержащую дескрипторы сокетов для приема пакетов и указатели на буферы для приема пакетов; принять входящие запросы на соединения; а затем и вызвать функцию recvvec().

Структуры данных для API определены в заголовочном файле sysroot-*-kos/include/kos/vec_types.h из состава KasperskyOS SDK.

Сведения о функциях API

Функции vec_socket.h

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!