Я пытаюсь лучше понять, как серверная архитектура работает для WebSockets с целью ее внедрения во встроенное приложение. Кажется, что здесь есть 3 разных программных компонента на стороне сервера: 1) веб-сервер для обслуживания статических страниц HTTP и обработки запроса на обновление, 2) библиотека WebSockets, такая как libwebsockets для обработки "гаек и болтов" для обмена данными через WebSockets, и 3) мое пользовательское приложение, чтобы на самом деле выяснить, что делать с входящими данными. Как все это сочетается? Общепринято ли иметь отдельный веб-сервер и часть обработки WebSocket, например сервер/демон WebSocket?
Как мое приложение взаимодействует с веб-сервером и/или библиотекой WebSockets для отправки/получения данных? Например, с CGI веб-сервер использует переменные среды для отправки информации в пользовательское приложение и stdout для получения ответов. Что такое эквивалентная система связи здесь? Или вы обычно связываетесь в библиотеке WebSocket с клиентским приложением? Но как будет работать связь с веб-сервером в библиотеке WebSocket + пользовательское приложение? Или все 3 объединены в один компонент?
Вот почему я спрашиваю. Я использую веб-сервер boa на платформе uClinux/no MMU на процессоре Blackfin с ограниченной памятью. В боа нет встроенной поддержки WebSocket, только CGI. Я пытаюсь выяснить, как я могу добавить поддержку WebSockets. Я бы предпочел использовать скомпилированное решение, а не что-то интерпретируемое как JavaScript, Python или PHP. Мое текущее приложение использует длительный опрос по CGI, который не обеспечивает адекватную производительность для запланированных улучшений.