代码改变世界

nginx源码学习资源(不断更新)

2012-06-13 21:32 by 轩脉刃, 32591 阅读, 收藏, 编辑
摘要:nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。 看了nginx源码,发现这是... 阅读全文

Go语言_时间篇

2012-06-12 13:50 by 轩脉刃, 31029 阅读, 收藏, 编辑
摘要:哎,先发下牢骚,Go文档还是太弱了,特别是标准库中的文档说明,很多函数几乎就一句话过了。这点确实该向Microsoft的MSDN好好学学。 Go的time包是标准库中的包之一 不用说,几乎是... 阅读全文

Linux IO模型漫谈(6)- 信号驱动IO模型

2012-06-11 22:10 by 轩脉刃, 5271 阅读, 收藏, 编辑
摘要:Unix上有定义了许多信号。源自Berkeley的实现使用的是SIGIO信号来支持套接字和终端设备上的信号驱动IO。 信号驱动IO模型主要是在UDP套接字上使用,在TCP套接字上几乎是没有什么使用的... 阅读全文

Go语言_反射篇

2012-06-10 22:51 by 轩脉刃, 32387 阅读, 收藏, 编辑
摘要:Go语言的基本语法的使用已经在前几篇陆陆续续学完了,下面可能想写一些Go的标准库的使用了。 先是reflect库。 reflect库的godoc在http://golang.org/pkg/ref... 阅读全文

Go语言_接口篇

2012-06-09 23:13 by 轩脉刃, 16056 阅读, 收藏, 编辑
摘要:在Go中,接口interface其实和其他语言的接口意思也没什么区别。interface理解其为一种类型的规范或者约定。一种类型是不是“实现”了一个接口呢?就看这种类型是不是实现了接口中定义的所有方法... 阅读全文

nginx源码学习Unix - Unix域协议

2012-06-08 10:53 by 轩脉刃, 2414 阅读, 收藏, 编辑
正文内容加载中...

Linux IO模型漫谈(5)- IO复用模型之select

2012-06-07 09:05 by 轩脉刃, 5364 阅读, 收藏, 编辑
摘要:首先需要了解的是select函数: select函数 #include<sys/select.h> #include<sys/time.h> int select (int maxfd , f... 阅读全文

Go语言_并发篇

2012-06-06 09:55 by 轩脉刃, 29173 阅读, 收藏, 编辑
摘要:当被问到为什么用Go语言,一定不得不提的是Go语言的并发程序编写。在C语言中编写非常繁琐复杂的并发程序在Go语言中总是显得如此便捷。 Go中并发程序依靠的是两个:goroutine和channel ... 阅读全文

Linux IO模型漫谈(4)- 非阻塞IO

2012-06-05 09:03 by 轩脉刃, 3918 阅读, 收藏, 编辑
摘要:首先先说一下,阻塞IO会在哪些地方阻塞住呢?输入操作read, 输出操作write,接受请求操作accept,发送请求操作connect,这四个地方阻塞进程。 非阻塞IO的模型图示在前面的章节有讲过,它和阻塞IO的最大区别就是:如果连接或者操作不能立即建立,那么连接的建立照样能发起,只是会返回一个错误信息。 同样,先说明几个用到的函数和操作: 1 fcntl函数 其全名为”file control“。顾名思义,fcntl可以执行各种操作符控制操作。#include <fcntl.h>int fcntl(int fd, int cmd, .. /* int arg */)第一个参数f 阅读全文

Linux IO模型漫谈(3) -- 阻塞式IO实现

2012-06-04 09:48 by 轩脉刃, 1982 阅读, 收藏, 编辑
摘要:在理解代码前有几个函数先说一下: 1 sockaddr_in 套接字地址结构 struct sockaddr_in { uint8_t sin_len; //长度字段,这个sockaddr_in结构的长度,一般不用设置和检查它 sa_family_t sin_family; //协议族,TCP,UDP等协议族就设置为AF_INET... 阅读全文