Я могу запустить свой скрипт, содержащий portscanner.findAPortNotInUse() локально (OSX) без ошибок, но при запуске на экземпляре ECN bitnami я получаю:
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:901:11)
at Server._listen2 (net.js:1039:14)
at listen (net.js:1061:10)
at Server.listen (net.js:1127:5)
at Object.module.exports.create (/home/bitnami/applications/tennistracker/node_modules/phantom/phantom.js:90:18)
at /home/bitnami/applications/tennistracker/main.js:114:25
at /home/bitnami/applications/tennistracker/node_modules/portscanner/lib/portscanner.js:136:7
at /home/bitnami/applications/tennistracker/node_modules/portscanner/node_modules/async/lib/async.js:578:28
at /home/bitnami/applications/tennistracker/node_modules/portscanner/lib/portscanner.js:119:9
at Socket.<anonymous> (/home/bitnami/applications/tennistracker/node_modules/portscanner/lib/portscanner.js:96:5)
код
var startPort = 50000;
portscanner.findAPortNotInUse(startPort, 50100, 'localhost', function(error, freeport) {
console.log('freeport value: '+freeport);
if(error) {
console.log('portscanner error: '+error);
}...
Дополнительный выход:
freeport value: undefined
portscanner error: true
freeport value: undefined
portscanner error: true
Я отключил ufw на сервере, а также допустил диапазон портов 50000 – 60000 в AWS. startPort установлен на 50000. Как я могу отладить эту проблему дальше? Я попытался запустить strace
но не вижу ничего очевидного.
Оказывается, это была проблема с portscanner.js, в сочетании с настройкой моего сервера (битновым узлом стека на EC2). Редактирование следующей строки для установки хоста на “127.0.0.1” разрешило проблему для меня.
https://github.com/baalexander/node-portscanner/blob/master/lib/portscanner.js#L65
Если кто-нибудь знает, почему, пожалуйста, отправьте еще один ответ, и я соглашусь. FWIW, файл моих хозяев, DOES уже содержит запись, указывающую 127.0.0.1 на localhost