2012-12-09 45 views

回答

6

一个名为node-raw-socket的新模块为使用nodejs的真实套接字提供了完美的解决方案。

而且,为了创建ping(ICMP)数据包,同样的开发人员也有一个非常好的基于node-raw-sockets的工作(使用它)解决方案:node-net-ping

+0

node-raw-socket不安装。失败为我建立。 – uptownhr

4

节点支持TCP,UDP和unix套接字。 Ping数据包是ICMP数据包,此时节点不能直接创建。您可以执行外部子程序ping或考虑编写C扩展。大多数节点的低级操作系统API都是相应C API的简洁JavaScript包装器,因此您可以遵循现有的完善模式,并将其作为围绕相应操作系统级API的小JS包装器层来实现。

http://nodejs.org/docs/latest/api/all.html#all_class_net_socket

有一个机会节点/ JavaScript的是,基于此要求,但你的项目一个糟糕的选择。

+1

我认为解决方案应该是创建一个插件[addons](http://nodejs.org/docs/latest/api/all.html#all_addon_patterns) – sauletasmiestas

+0

@Peter,没有理由为什么Node支持TCP UDP,但不支持IP。对IP的支持迟早会来。 – Pacerier

0

net-ping模块可能适合您的需求。要安装它,您可以使用以下命令:

npm install net-ping 

包含示例的文档包含在here中。