Надежный способ обернуть Node.js + Socket.io в исполняемый файл OSX? (или библиотеки C / C ++ / Objective-C для использования в качестве альтернативы) - PullRequest
0 голосов
/ 29 марта 2012

Я работаю над проектом, которому нужен простой, легкий сервер событий (то есть сервер, который передает события между различными клиентскими приложениями, реализованными в Javascript). Поначалу Node.js и Socket.io казались идеальным решением, но количество зависимостей и конфигурации отчасти отбросило блеск (подробности о проекте и причинах его настройки приведены ниже). Есть ли какой-нибудь проверенный и надежный способ упаковки всех этих зависимостей в один исполняемый файл, который можно запустить без дополнительной настройки? Если нет, то есть ли хорошие библиотеки C / C ++ Websockets, которые можно объединить с чем-то вроде Mongoose для создания отдельного исполняемого файла?

Информация о проекте

Базовый вариант использования:

  • Модератор включает сервер на своей машине с OSX.
  • Группа из 10-20 пользователей указывает свои мобильные устройства на сайт, размещенный на компьютере модератора
  • Общение происходит на время сеанса (около часа)

Основные требования:

  • Простая настройка: Модератор не будет разработчиком и может иметь мало технических знаний. Все, что требует терминала или работы с файлами конфигурации или менеджерами пакетов, не является началом.
  • Ненадежная конфигурация: Машина модератора будет использоваться во многих различных контекстах и ​​многими другими пользователями. Следовательно, система не должна полагаться на очень специфические или нетронутые настройки (т.е. хотелось бы избежать чего-либо с большим количеством зависимостей, которое требует установки специальных переменных среды)
  • Производительность и безопасность не имеют значения: Сервер будет работать локально с небольшим количеством доверенных пользователей в течение короткого времени, поэтому безопасность и высокая производительность не важны.

1 Ответ

0 голосов
/ 30 марта 2012

Интересный вопрос.

Я знаю, что в сообществе WebSocket разрабатываются некоторые библиотеки C и / или C ++ WebSocket (упомянутые в списке обсуждений IETF), если вы хотите пойти в этом направлении.

Возможно, вам будет интересно узнать, что некоторые части Node.js на самом деле написаны на javascript и скомпилированы во время процесса сборки как встроенные модули, но я не знаю ни одного способа сделать это для вашего собственного короткого кода взломать сборку.

Поскольку это OSX, вы можете упаковать Node вместе с вашим собственным кодом и любыми модулями, созданными на основе статической библиотеки v8, в вашем .app. Это будет довольно тесная связь, хотя и не совсем то, что вы просите.

Также возможно построить ваше расширение (или его часть) как модуль C ++, загруженный Node и v8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...