有Node.js Net API的C ++实现吗?

Node.js有一个非常好的和深思熟虑的Net API。 我不知道是否有一个良好的C ++ 只有该API的实现,例如LuaNode为Lua做?

看看node.native – 尝试实现类似于node.js核心lib的API,但是使用c ++ 11(并且偶数IO也基于libuv)

我所知道的没有什么非常相似的。

然而,在那里有几个反应器框架给出了相同的事件队列驱动的环境。 例如, boost :: asio提供了一个事件队列,它使得callback函数可以处理事件队列中的networking事件,定时器和非法事件。

这是基本相同的想法,用相同的方式。 无论如何,它并不像node.js那样简单,并且提供了除上述基础之外的任何非阻塞函数。

它确实为您提供了构build自己系统的环境。 这是一个很好的图书馆,但可能比你想要的要低。 还有其他的simiar库,比如ACE和POCO c ++库的一部分,但是它们的层次低于node.js,而且库支持less得多。

编辑:我没有看太多,但如何这个https://github.com/joyent/libuv 。 这是一个用于以跨平台的方式实现一些node.jsfunction的库。 也许有可能使用它的一些你所需要的?

Boost.Asio在概念上与Node.js非常相似。 主要区别是Asio是作为一个库实现的,Node.js是一个语言结构。 因此,Asio暴露事件队列,需要一些初始设置来发布callback处理程序,最后是阻塞调用来启动事件循环( io_service.run() )。

如果您正在寻找类似于Node.js的纯C ++ API,Boost.Asio绝对是您的select。 这是许多C ++应用程序事实上的networking库。 在boost-asio标签中也对SO进行了大量讨论。

我很确定你可以在程序中embedded一个Javascript引擎

  • v8( build筑指南 )
  • SpiderMonkey( build筑指南 )

实际上把它绑在你的C代码上需要修改两者的eval函数,但是我想我记得看过两个引擎的样例程序