Я использую ревущие растровые изображения для хранения списка IP-адресов.
const RoaringBitmap32 = require('roaring/RoaringBitmap32');
const bitmap2 = new RoaringBitmap32([]);
bitmap2.add("153.171.110.82");
console.info('bitmap2.toArray():', bitmap2.toArray());
Когда я запускаю вышеуказанную программу, я получаю следующую ошибку:
/Users/rajkumar.natarajan/Documents/Coding/contango/scripts/rr_bitmaps_demo.js:3
bitmap2.add("153.171.110.82");
^
TypeError: RoaringBitmap32::add - 32 bit unsigned integer expected
at Object.<anonymous> (/Users/rajkumar.natarajan/Documents/Coding/contango/scripts/rr_bitmaps_demo.js:3:9)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3
Есть ли способ обойти эту ошибку?





Сначала вам нужно преобразовать свой IP-адрес в 32-битное целое число, как предполагает ошибка. IPv4 состоит из 4 блоков, каждый блок 8 бит, так что в сумме это 32 бита.
Вы можете написать свою собственную функцию преобразования, я считаю, что это не должно быть слишком сложно, но если это проблематично для вас, тогда должны быть некоторые пакеты npm, которые вы можете использовать. Например, я нашел Вот этот