Пример демонстрирует особенности решения, в котором программа использует стандартные функции 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
В начало