网络编程
文章平均质量分 63
油条蘸甜豆浆
这个作者很懒,什么都没留下…
展开
-
epoll函数
转自:http://blog.csdn.net/penzo/article/details/5986574epoll的几个函数的介绍。1、epoll_create函数/** * @brief 该函数生成一个epoll专用的文件描述符。它其实是在内核申请一空间,用来存放你想关注的socket fd上是否发生以及发生了什么事件。 * * @para转载 2011-08-01 21:28:50 · 2733 阅读 · 0 评论 -
libpcap库使用指南
转自:http://blog.ender.in/ 众所周知,libpcap是一个可移植的网络数据包捕获库,使用C/C++编写的程序都可以用它,当然,它还有很多其他语言的Wrapper。libpcap可以从tcpdump的网站下载到。这里我主要介绍一下它的C语言API。在文章的最后,我将介绍一下winpcap(libpcap的Windows实现版)。Prefix首先,我们需要了解转载 2012-04-28 21:44:44 · 7056 阅读 · 0 评论 -
libevent库
1.简介:libevent是一个支持Windows、linux和bsd等平台的网络事件驱动程序库。它支持多种I/O服用机制,按照优先级从高到低依次为:evport、kqueue、epoll、devpoll、rtsig、poll、select。它可根据操作系统,按照优先级从高到底自主选择驱动。用户可以通过http://www.monkey.org/~provos/libevent/来获取libe原创 2012-05-01 11:05:03 · 1298 阅读 · 0 评论 -
libevent库源码学习-kqueue( freebsd)
kqueue 提供 kqueue()、kevent() 两个系统调用和 struct kevent 结构。 int kqueue(void) 生成一个内核事件队列,返回该队列的文件描述索。其它 API 通过该描述符操作这个 kqueue。生成的多个 kqueue 的结构类似图 1 所示。 int kevent(int转载 2012-05-01 15:52:34 · 4937 阅读 · 0 评论 -
libevent库源码学习-epoll( linux)
同:http://blog.csdn.net/hcwzq/article/details/6652038原创 2012-05-01 17:10:19 · 1012 阅读 · 0 评论 -
libevent库源码学习-poll/select( linux)
这两种实际上差不多,都是把一组fd传送给kernal,然后返回一个就绪fd的数量,然后开始遍历所有的fd,找到那些可读或者可写的。区别在于,poll相比select来说,传送给kernal的数组要小,这可能是它唯一的优势,其他方面区别不大....api1 int select(int fdsp1, fd_set *readfds, fd_set *writefds, fd_原创 2012-05-01 17:53:01 · 1748 阅读 · 0 评论 -
libevent库源码学习-evport(Event ports)(Solaris 10)
Solaris 10 的新增加的特性。一.API1. port_create() 原型:int port_create(void); port_create() 创建一个 Event ports 队列,返回一个文件描述符作为该 Event port 的代表。 相似:kqueue(),epoll_create()2. port_原创 2012-05-01 15:06:21 · 5420 阅读 · 0 评论 -
libevent库源码学习-devpoll(/dev/poll)( linux)
1.初始化使用fd = open(“/dev/poll”, flags, (mode_t)mode);获得文件描述符2.增加事件struct pollfd *events;pwrite(fd, events,sizeof(struct pollfd) * eventsnum, 0) 直接往里边写3.删除事件使用 POLLREMOVE 事件,然后把这个时间用增加时原创 2012-05-01 17:26:52 · 2626 阅读 · 0 评论