Node.js的网络IO库扩展 libuv

openkk 8年前

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 工具链

项目主页:http://www.open-open.com/lib/view/home/1344827259256