Пример демонстрирует особенности решения, в котором программа использует стандартные функции POSIX для взаимодействия с внешним сервером.
Пример net2_with_separate_vfs
является видоизмененным примером net_with_separate_vfs
. В отличие от примера net_with_separate_vfs
, в этом примере программа взаимодействует по сети не с другой программой, запущенной в KasperskyOS, а с внешним сервером.
Пример состоит из программы Client
, запущенной в KasperskyOS под QEMU или на Raspberry Pi, и программы Server
, запущенной в хостовой операционной системе Linux. Программа Client
и программа Server
связаны TCP-сокетом. В коде программы Client
используются стандартные функции POSIX.
Чтобы соединить программы Client
и Server
сокетом, программа Client
должна взаимодействовать с программой NetVfs
. Программа NetVfs
при сборке компонуется с сетевым драйвером, который обеспечит взаимодействие с программой Server
, запущенной в Linux.
Для сборки и запуска примера используется система CMake из состава KasperskyOS Community Edition.
Файлы примера
Код примера и скрипты для сборки находятся по следующему пути:
/opt/KasperskyOS-Community-Edition-<version>/examples/net2_with_separate_vfs
Сборка и запуск примера
См. "Сборка и запуск примеров".
Для корректной работы примера необходимо запустить программу Server
в хостовой операционной системе Linux или на компьютере, подключенном к Raspberry Pi.
После выполнения сборки, исполняемый файл server
программы Server
находится в следующей директории:
/opt/KasperskyOS-Community-Edition-<version>/examples/net2_with_separate_vfs/build/host/server/
Чтобы собрать исполняемый файл программы Server
самостоятельно, нужно выполнить следующие команды:
$ cd net2_with_separate_vfs/server/src/
$ gcc -o server server.c
В начало