Каков современный способ создать модуль XS с нуля?

127.0.0.1 является адресом обратной связи, поэтому ваш контейнер Node.js продолжает пинговать себя вместо хоста (вашего ноутбука). Вы можете создать свою собственную мостовую сеть и присоединить два контейнера к этой мостовой сети

docker network create scylla-net

Теперь запустите контейнер ScyllaDB следующим образом

docker run --name some-scylla -d --net=scylla-net scylladb/scylla

В своем скрипте Node.js измените 127.0.0.1 - some-scylla (название вашего контейнера ScyllaDB). Крутая вещь в пользовательских мостовых сетях заключается в том, что они позволяют вашим контейнерам общаться друг с другом через их имена. Таким образом, имя some-scylla будет соответствовать любому IP-адресу, который контейнер some-scylla использует в то время.

Теперь, когда вы запускаете сервер Node.js, обязательно пропустите флаг --net=scylla-net, иначе он не сможет разрешить имя some-scylla. Надеюсь, это поможет!

17
задан Chas. Owens 7 April 2009 в 14:14
поделиться

3 ответа

Нет, h2xs не удерживается от использования. Модуль:: Начинающий, конечно, более удобен, если Вы создаете много чистых модулей Perl, но нет никакой причины избежать h2xs. Я рекомендовал бы читать полностью через его документ перед использованием его, тем не менее, так, чтобы Вы знали то, что все Вы могли бы хотеть, чтобы это сделало или не сделало.

16
ответ дан 30 November 2019 в 13:46
поделиться

Лично я просто использую Module :: Starter и сам добавляю файл .xs. Это зависит от того, какова ваша цель: если вы делаете сопоставление один на один с C api, то h2xs может сделать для вас много шаблонного, но если вы создаете совершенно новый интерфейс или когда вы ' делать что-то только с самим Perl (а не с какой-нибудь внешней библиотекой), это немного добавляет, но проблем ИМХО.

5
ответ дан 30 November 2019 в 13:46
поделиться

You should also look at using Inline::C

-1
ответ дан 30 November 2019 в 13:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: