
libevent
小白的学习笔记
这个作者很懒,什么都没留下…
展开
-
使用c发送GET请求
参考地址:http://www.wangafu.net/~nickm/libevent-book/01_intro.html#_footnote_1 在阅读libevent文档时发现这个例子,文档列出这个例子的重点是说明阻塞式编程。因为对C网络编程还不太懂,这里添加了一些注释。 /* For sockaddr_in */ #include /* For socket functions */原创 2016-07-26 15:08:53 · 2204 阅读 · 2 评论 -
C fork introduce
fork的作用是创建一个子进程。 fork()函数会返回两次,分别返回为子进程和父进程,靠返回值来区分,如果返回值为0则当前在子进程里面,若返回值大于0则当前在父进程里面。 看下面例子: #include #include int main() { pid_t fpid; //fpid表示fork函数返回的值,实际是一个int类型 int count = 0; //fork之原创 2016-07-26 20:50:37 · 466 阅读 · 0 评论 -
linux内核中的文件描述符(一)--基础知识简介
linux内核中的文件描述符(一)--基础知识简介 Kernel version:2.6.14 CPU architecture:ARM920T Author:ce123(http://blog.youkuaiyun.com/ce123) 作为文件的使用者,进程理所当然的要将所使用的文件记录于自己的控制块中,也就是task_struct。另外,由于进程所对应的程序也是一个文件,转载 2016-07-27 20:14:27 · 488 阅读 · 0 评论 -
c服务端通过多线程来处理不同请求
下面的例子示意了服务端使用多线程来处理socket请求的例子。 在《Unix网络编程》中称这种方式为网络服务器。要区别“监听套接字”和“已连接套接字” 原文在这里:http://www.wangafu.net/~nickm/libevent-book/01_intro.html#_footnote_1/* For sockaddr_in */ #include <netinet/in.h> /*原创 2016-07-27 11:53:49 · 737 阅读 · 0 评论 -
epoll 示例
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是转载 2016-08-11 21:35:58 · 943 阅读 · 0 评论 -
epoll的反应堆实现模式
这里有个epoll的反应堆模式实现,在这段代码之前,不知道什么是reactor反应堆,赶紧去补了一下Reator模式 论文阅读整理,这个论文是以面向对象的思想来介绍反应堆的实现的。 对比这个epoll的反应堆实现,发生跟论文中的实现还是有点出入,而普通的epoll实现epoll 示例跟不用reator模式差不多,当然思想上还是有差别的。 在反应堆实现中,为每个fd由自己封装了一个mye原创 2016-08-24 18:43:57 · 1293 阅读 · 0 评论 -
epoll 三个方法 两种工作模式
epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。一 epoll操作过程 epoll操作过程需要三个接口,分别如下:int epoll_create(int si转载 2016-08-12 15:56:16 · 4229 阅读 · 0 评论