代码改变世界

随笔档案-2013年03月

Google snappy 的 Lua 绑定

2013-03-30 23:54 by Haippy, 2085 阅读, 收藏, 编辑
摘要: 趁着周末有时间写了 Google snappy (A fast compressor/decompressor) 的 Lua 绑定,希望对 Lua 程序员有所帮助 ;-) 代码和文档依旧放在 github 上: lua-snappy (https://github.com/forhappy/lua-snappy) 阅读全文

libuv 中文编程指南(零)前言

2013-03-17 21:59 by Haippy, 19337 阅读, 收藏, 编辑
摘要: 最近看了一些有关 libuv 的东西,另外复习了一些与同步、异步、阻塞、非阻塞,异步IO(aio)的东西, 算是技术积累吧,等有时间了整理出一个完整的文档出来,希望在今后的编程中用到。 阅读全文

libuv 中文编程指南(一)序言

2013-03-17 21:57 by Haippy, 20091 阅读, 收藏, 编辑
摘要: 本书由一系列 libuv 教程组成, libuv 是一个高性能事件驱动的程序库,封装了 Windows 和 Unix 平台一些底层特性,为开发者提供了统一的 API. 本书旨在涵盖 libuv 的主要特性, 并不是一份完整介绍 libuv 内部每个 API 和数据结构的指南, 官方文档 official libuv documentation 可以直接在 libuv 源码提供的头文件中找到. 阅读全文

libuv 中文编程指南(二)libuv 基础

2013-03-17 21:57 by Haippy, 50165 阅读, 收藏, 编辑
摘要: libuv 采用了 异步 (asynchronous), 事件驱动 (event-driven)的编程风格, 其主要任务是为开人员提供了一套事件循环和基于I/O(或其他活动)通知的回调函数, libuv 提供了一套核心的工具集, 例如定时器, 非阻塞网络编程的支持, 异步访问文件系统, 子进程以及其他功能. 阅读全文

libuv 中文编程指南(三)文件系统

2013-03-17 21:57 by Haippy, 17871 阅读, 收藏, 编辑
摘要: 简单的文件读写是通过 uv_fs_* 函数族和与之相关的 uv_fs_t 结构体完成的. libuv 提供的文件操作和 socket operations 并不相同. 套接字操作使用了操作系统本身提供了非阻塞操作, 而文件操作内部使用了阻塞函数, 但是 libuv 是在线程池中调用这些函数, 并在应用程序需要交互时通知在事件循环中注册的监视器. 所有的文件操作函数都有两种形式 - 同步 synchronous 和 asynchronous. 阅读全文

libuv 中文编程指南(四)网络

2013-03-17 21:57 by Haippy, 27879 阅读, 收藏, 编辑
摘要: libuv 的网络接口与 BSD 套接字接口存在很大的不同, 某些事情在 libuv 下变得更简单了, 并且所有接口都是都是非阻塞的, 但是原则上还是一致的. 另外 libuv 也提供了一些工具类的函数抽象了一些让人生厌的, 重复而底层的任务,比如使用 BSD 套接字结构来建立套接字, DNS 查询, 或者其他各种参数的设置. libuv 中在网络 I/O 中使用了 uv_tcp_t 和 uv_udp_t 两个结构体. 阅读全文