libuv 1.0.0 发布,Node.js 的网络 IO 库扩展

Posted OSC开源社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了libuv 1.0.0 发布,Node.js 的网络 IO 库扩展相关的知识,希望对你有一定的参考价值。

libuv 1.0.0 发布,此版本包括大约 3000 个 commits,已经开发了 4 年了,现在终于发布啦!


libuv 1.0.0 是个非常长的开发过程,自从 0.10.0 开始,但是现在终于发布了!


跟之前的 RC 版本并没有太大改进:

* doc: fix git/svn url for gyp repo in README (Emmanuel Odeke)

* windows: fix fs_read with nbufs > 1 and offset (Unknown W. Brackets)

* win: add missing IP_ADAPTER_UNICAST_ADDRESS_LH definition for MinGW
  (huxingyi)

* doc: mention homebrew in README (Mikhail Mukovnikov)

* doc: add learnuv workshop to README (Thorsten Lorenz)

* doc: fix parameter name in uv_fs_access (Saúl Ibarra Corretgé)

* unix: use cfmakeraw() for setting raw TTY mode (Yuri D'Elia)

* win: fix uv_thread_self() (Alexis Campailla)

* build: add x32 support to gyp build (Ben Noordhuis)

* build: remove dtrace probes (Ben Noordhuis)

* doc: fix link in misc.rst (Manos Nikolaidis)

* mailmap: remove duplicated entries (Saúl Ibarra Corretgé)

* gyp: fix comment regarding version info location (Saúl Ibarra
  Corretgé)


libuv 1.0.0 会维护一个稳定的 ABI 和向后兼容 API。


升级指南:http://docs.libuv.org/en/latest/migration_010_100.html


更多内容请看发行说明。


libuv 是 Node 的新跨平台抽象层,用于抽象 Windows 的 IOCP 及 Unix 的 libev。作者打算在这个库的包含所有平台的差异性。

特性:

  • 非阻塞 TCP 套接字

  • 非阻塞命名管道

  • UDP

  • 定时器

  • 子进程生成

  • 通过 uv_getaddrinfo 实现异步 DNS

  • 异步文件系统 API:uv_fs_*

  • 高分辨率时间:uv_hrtime

  • 正在运行程序路径查找:uv_exepath

  • 线程池调度:uv_queue_work

  • TTY控制的ANSI转义代码: uv_tty_t

  • 文件系统事件现在支持 inotify, ReadDirectoryChangesW 和 kqueue。很快会支持事件端口:uv_fs_event_t

  • 进程间的 IPC 与套接字共享:uv_write2


已受支持的平台:

  • Microsoft Windows 操作系统,如 Windows XP SP2。使用 Visual Studio 或 MinGW 构建

  • Linux 2.6 使用 GCC 工具链

  • MacOS 使用 GCC 或 XCode 工具链

  • Solaris 121 或之后版本,使用 GCC 工具链

以上是关于libuv 1.0.0 发布,Node.js 的网络 IO 库扩展的主要内容,如果未能解决你的问题,请参考以下文章

node.js 系列 7 异步IO

node.js中文资料导航

企业级 Node.js 框架 - Egg.js 1.0.0 正式发布

Node.js 探秘 - 求异存同

会js你就会node开胃菜

当没有新事件排队时,node.js 应用程序如何继续运行?