Я хочу выполнить ping-сервер из моего приложения node.js.
Это выполнимо?
Спасибо
Я хочу выполнить ping-сервер из моего приложения node.js.
Это выполнимо?
Спасибо
Вы можете использовать exec
для вызова команды ping системы
var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec("ping -c 3 localhost", puts);
node-net-ping - это удивительный модуль, который использует сырые сокеты.
И, если вы ищете только сырые сокеты, у того же разработчика есть модуль для этого: node-raw-socket.
Выполнение ping (программируемое) требует привилегий root, потому что для него требуются сокеты raws, которые требуют доступа root. Вы можете выполнить ping, следуя фрагменту Gradwohl, но имейте в виду, что вы открываете новый процесс, который является дорогостоящим (относительно). Если вам не нужно делать это много (concurrency), это определенно будет работать:)
Чтобы сделать это в node.js(только) без процесса наложения, я думаю, у вас есть несколько вариантов, которые трудно реализовать:()
Не (только) с помощью node.js:
Как примечание, как использовать redis на node.js:
Я автор ping-wrapper.
Он запускает ping, и вы можете слушать события немедленно. Если процесс завершается, он будет автоматически запускаться.
Я знаю, что на этот ответ был дан ответ довольно давно, но для людей, которые ищут тот же ответ, я написал модуль на github, чтобы попытаться упростить его:)
Вы также можете использовать my nodejs ping wrapper yaping. Однажды мы получим сырые сокеты в nodejs, и мы сможем сделать наши собственные пакеты ping и лежать о времени отклика.; -)
Эта простая функция должна