2013-10-09 1 views
4

Я хочу дать nxweb попробовать. Поэтому я успешно его установил. К сожалению, документация не существует. После того, как копаться в коде и Инсталляционный примечания я понял, что я должен был поместить мой C файл в подкаталоге модулей и перекомпилировать основной исполняемый файл с помощью:Добавление модуля в nxweb

gcc -O2 -g main.c modules/*.c -o mynxweb `pkg-config --cflags --libs nxweb` 

Как это не сработало, я нашел код main.c, который, похоже, обрабатывает регистрацию модулей. Поэтому я добавил:

NXWEB_HANDLER_SETUP(my_click, "/click", click, .priority=1000); 

и перекомпилировано. Он компилируется просто отлично. Но я не могу найти click.o (мой исходный файл называется click.c) в каталоге src/bin. В информационных сообщениях не упоминается и мой модуль. Поэтому я не понимаю, чего не хватает.

Может быть, мы можем запустить небольшой документ nxweb noob в Stackoverflow.

ответ

3

В основном процедура заключается в следующем:

  1. сборки и установки nxweb от source. Следуйте инструкциям из файла INSTALL. Это должно установить библиотеку nxweb.

  2. Напишите свой модуль. Возьмите bin/modules/hello.c в качестве примера. Убедитесь, что у вас есть NXWEB_DEFINE_HANDLER(my_unique_handler_name, ...).

  3. Построить nxweb исполняемым используя при условии main.c и ваш модуль, связать его nxweb библиотека:

    gcc -O2 -g main.c my_module.c -o mynxweb `pkg-config --cflags --libs nxweb`

  4. Настройка routing таблицы в nxweb_config.json, указав префикс URL, который должен вызывать обработчик:

    { "prefix":"/my_handler_url", "handler":"my_unique_handler_name" },

  5. Запуск/перезапуск nxweb.

1

Я нашел его!

Вы также должны добавить свое имя модуля и путь маршрутизации к nxweb_config.json.

Например:

{ // see modules/click.c 
    "prefix":"/click", "handler":"click" 
}, 
Смежные вопросы