我想从我的node.js应用程序ping服务器。
可行吗?
由于
答案 0 :(得分:21)
您可以使用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);
答案 1 :(得分:20)
node-net-ping是一个使用原始套接字的强大模块。
而且,如果您只寻找原始套接字,那么同一个开发人员也有一个模块:node-raw-socket。
答案 2 :(得分:9)
执行ping(可编程)需要root权限,因为它需要root访问权限的原始套接字。您可以在Gradwohl's代码段之后执行ping操作,但请记住,您正在分配一个昂贵的(相对)新流程。如果你不需要做很多事情(并发),那肯定会有效:)
要在node.js中执行此操作(仅限)而不使用forking进程我认为您有两个选项,这两个选项都难以实现:()
不(仅)使用node.js:
作为旁注,如何在node.js上使用redis:
答案 3 :(得分:9)
我是ping-wrapper的作者。
它会产生ping,你可以立即收听事件。如果进程退出,它将自动生成。
答案 4 :(得分:3)
我知道很久以前就已经回答了这个问题,但是对于那些正在寻找相同答案的人,我已经在github上编写了一个模块来尝试简化它:)
答案 5 :(得分:2)
您也可以使用我的nodejs ping wrapper yaping。有一天,我们将在nodejs中获得原始套接字,我们将能够制作自己的ping数据包,并对我们的响应时间撒谎。 ; - )
这个简单的功能