![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
YourGodFather
关注C/C、Java、Python、PHP、linux编程、Javascript、jquery、Linux内核、Hadoop、Hbase、NoSql、移动互联开发等
展开
-
Linux下的各种类型I/O总结
Linux的I/O机制经历了一下几个阶段的演进:(1)同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。(2)同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。(3)异步阻塞I/O: 用户进程可以对I/O事件进行阻塞,但是I/O操作并不阻塞。通过select/poll/epoll等函数转载 2012-10-23 15:56:26 · 978 阅读 · 0 评论 -
UNIX网络编程书中源代码测试环境搭建
Steven在书中例子都包含一个#include "unip.h",从书中附录可以看出该头文件包含了网络程序中所使用到的各种相关头文件,所以如果想自己测试书中的源代码的话,我们需要需要搭建一个环境,以下是自己的实践过程,记录下来,以便以后参考:1、下载书中源代码unpv13e.tar.gz:这个可以在书中前言给出的地址下载:http://www.unpbook.com/unpv13e.ta原创 2012-12-19 15:28:03 · 2729 阅读 · 1 评论 -
epoll
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明: #define转载 2013-04-01 21:32:31 · 427 阅读 · 0 评论 -
epoll使用详解(精髓)
epoll - I/O event notification facility 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自转载 2013-04-01 20:50:51 · 468 阅读 · 0 评论 -
Linux的epoll模型
Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在我用的2.6.15-25-386内核中,该值是1024,搜索内核源代码得转载 2013-04-01 21:19:09 · 462 阅读 · 0 评论 -
在Linux上开发网络服务器的一些相关细节:poll与epoll
随着2.6内核对epoll的完全支持,网络上很多的文章和示例代码都提供了这样一个信息:使用epoll代替传统的 poll能给网络服务应用带来性能上的提升。但大多文章里关于性能提升的原因解释的较少,这里我将试分析一下内核(2.6.21.1)代码中poll与 epoll的工作原理,然后再通过一些测试数据来对比具体效果。 POLL: 先说poll,poll或select为大部分Unix/转载 2013-04-01 21:24:30 · 467 阅读 · 0 评论