libuv 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
libuv 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
libuv 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 mingshun
适用人群 未知
收录时间 2012-08-13

软件简介

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
libhv是一个跨平台的类似libevent、libev、libuv的异步IO事件循环库,提供了更加简单的API接口和更加丰富的协议 感兴趣的朋友了解一下 https://hewei.blog.csdn.net/article/details/103903123
2020/01/11 14:57
回复
举报
更多评论
发表于开发技能专区
2019/01/21 07:03

Libuv 1.25.0 发布,Node 的跨平台异步 IO 库

Libuv 是一个专注于异步 I/O 的多平台支持库,主要用于 Node.js。 特性包括: 非阻塞 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...

0
3
发表于开发技能专区
2018/12/19 07:40

Libuv 1.24.1 发布,Node 的跨平台异步 IO 库

Libuv 1.24.1 已发布, 更新如下: 测试:在 cygwin 上测试系统输出(damon-kwok)。 gitignore:忽略 build 目录 (Damon Kwok)。 unix:在使用前是 0 epoll_event(Ashe Connor)。 darwin:使用运行时检查文件克隆(Ben Noordhuis)。 doc:替换macOS上的弃用构建命令(Rick)。 warnings:修复编译器警告的代码(Jameson Nash) doc:澄清预期的记忆管理策略(Ivan Krylov) test::添加 uv \ _inet \ _ntop(AF_INET)覆盖...

2
6
发表于软件架构专区
2018/10/11 07:48

Libuv 1.23.2 发布,Node 的跨平台异步 IO 库

Libuv 1.23.2 已发布, 主要更新如下: win,tty:修复 uv_tty_close() unix:初始化 uv_interface_address_t.phys_addr unix:优化 uv_fs_readlink() 内存分配 unix,readv:总是允许部分读取返回 doc:删除不相干的 “on” 更多详情和下载地址可查阅发行说明 Libuv 是一个专注于异步 I/O 的多平台支持库,主要用于 Node.js。 特性包括: 非阻塞 TCP 套接字 非阻塞命名管道 UDP 定时器 子进程生成 通过 uv_getaddrinfo 实现异步 ...

0
4
发表了资讯
2017/12/03 07:20

Libuv 1.18.0 发布,Node 的跨平台异步 IO 库

Libuv 1.18.0 已发布, 更新如下: aix: 修复 -Wmaybe-uninitialized 警告 doc: 删除 Windows 上有关 SIGWINCH 的注意事项 恢复 "unix,win: wait for threads to start" unix,win: 添加 uv_os_getpid() 删除 uv_shutdown() 中不正确的断言 doc: 修复 CONTRIBUTING.md 中的 IRC URL 更多详情和下载地址可查阅发行说明 Libuv 是一个专注于异步 I/O 的多平台支持库,主要用于 Node.js。 特性包括: 非阻塞 TCP 套接字 非阻塞命名管...

6
3
发表了资讯
2017/11/12 07:30

Libuv 1.16.1 发布,Node 的跨平台异步 IO 库

Libuv 1.16.1 已发布, 更新如下: unix: move net/if.h include win: fix undeclared NDIS_IF_MAX_STRING_SIZE Libuv 是一个专注于异步 I/O 的多平台支持库,主要用于 Node.js。 特性包括: 非阻塞 TCP 套接字 非阻塞命名管道 UDP 定时器 子进程生成 通过 uv_getaddrinfo 实现异步 DNS 异步文件系统 API:uv_fs_* 高分辨率时间:uv_hrtime 正在运行程序路径查找:uv_exepath 线程池调度:uv_queue_work TTY控制的ANSI转义代码:...

3
8
发表了资讯
2015/02/28 00:00

libuv 0.10.36 和 1.4.2 发布,Node 的 IO 扩展

libuv 0.10.36 和 1.4.2 发布,这两个版本主要是 bug 修复,相关链接: ChangeLogs: https://github.com/libuv/libuv/releases/tag/v0.10.36 https://github.com/libuv/libuv/releases/tag/v1.4.2 Download: http://dist.libuv.org/dist/v0.10.36/ http://dist.libuv.org/dist/v1.4.2/ Documentation: http://docs.libuv.org/en/v1.x/ libuv 是 Node 的新跨平台抽象层,用于抽象 Windows 的 IOCP 及 Unix 的 libev。作者打算在这...

1
6
发表了资讯
2014/11/21 00:00

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_ADDR...

10
25
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2018/10/19 15:00

libuv之介绍

本人是在研究linux下socket TCP/IP通讯时,用到了一些linux下的API,比如socket, connect, bind,listen, accept等等,简单写个点对点的通讯,直接用这些API,再配合Linux下的事件处理机制,或多线程机制,应该都是可以实现的。这里我们就需要考虑的如下一些问题: 1.多个客户端并发处理时,怎么才能将服务端的负担降到最低 2.我的应用用到多事件处理,怎么来管理我拉事件 -----可以设计一个队列来管理 3.线程与事件如何并行使用...

0
0
发表于开发技能专区
2020/04/29 09:27

关于libuv

最近在写libuv源码分析小册,如果有对libuv有兴趣的同学,可以提一下建议或者感兴趣的地方。欢迎留言。欢迎交流。下面是目前的提纲。如果有时间的话,会把如何使用libuv也加上。 Libuv源码分析 一、Libuv介绍 21.1 Libuv是什么? 21.2 Libuv可以做什么 21.2.1获取源码 21.2.2编译和使用 3 二、Libuv数据结构 32.1 核心结构体uv_loop_s 32.2 基类uv_handle_t 2.2.1 uv_handle_t族结构体之uv_stream_s 2.2.2 uv_handle_t...

0
0
发表于开发技能专区
2020/05/17 23:35

Libuv简介

Libuv是一个跨平台的的基于事件驱动的异步io库。但是他提供的功能不仅仅是io,包括进程、线程、信号、定时器、进程间通信等。下面是来自官网对Libuv架构的介绍图。 从上图中我们看到 Libuv使用各平台提供的事件驱动模块实现异步(epoll, kqueue, IOCP, event ports)。他用来支持上层非文件io的模块。libuv把上层的事件和回调封装成io观察者(uv__io_t)放到底层的事件驱动模块。当事件触发的时候,libuv会执行io观察者中的回调...

0
0
发表于开发技能专区
2020/05/08 23:36

理解libuv的基本原理

libuv的实现是一个很经典生产者-消费者模型。libuv在整个生命周期中,每一次循环都执行每个阶段(phase)维护的任务队列。逐个执行节点里的回调,在回调中,不断生产新的任务,从而不断驱动libuv。今天我们分析一下libuv的整体架构,从而学会如何使用libuv。我们从libuv的一个小例子开始。 #include <stdio.h> #include <uv.h> int64_t counter = 0; void wait_for_a_while(uv_idle_t* handle) {     counter++;  ...

0
0
发表于开发技能专区
2019/11/13 23:21

libuv源码分析

1 libuv的定时器原理源码解析 2 libuv之async.c源码解析 3 libuv之线程池以及线程间通信源码解析 4 libuv之定时器---timer.c 5 libuv之文件监听---fs-poll.c 本文分享自微信公众号 - 编程杂技(theanarkh)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

0
0
发表了博客
2016/12/22 16:08

libuv交叉编译

1、检查交叉编译器是否在$PATH,在shell中测试。 2、进入到libuv目录,git checkout 到最新的版本 3、配置生成的路径,编译器 执行 $ sh autogen.sh $ ./configure --prefix=/tmp/libuv_prefix --host=arm-none-linux-gnueabi CC=arm-none-linux-gnueabi-gcc $ make $ make check $ make install...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2013/03/31 22:24

libuv 初窥

今天想试一下 libev 写点代码。原本在我那台 ubuntu 机器上一点问题都没有,可在 windows 机上用 mingw 编译出来的库一个 backend 都没有,基本不可用。然后网上就有同学推荐我试一下 libuv 。 libuv 是 node.js 作者做的一个封装库,在 unix 环境整合的 libev ,而在 windows 下用 IOCP 另实现了一套。看起来挺满足我的玩儿的需求的。所以就试了一下。 这东西没有文档,暂时没看出来作者有写文档的打算,恐怕他是自己用为主。我...

3
5
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
1 评论
90 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部