epoll的优点:
1.支持一个进程打开大数目的socket描述符(FD)
select 最不能忍受的是一个进程所打开的FD是有一定限制的,由FD_SETSIZE设置,默认值是2048。对于那些需要支持的上万连接数目的IM服务器来说显 然太少了。这时候你一是可以选择修改这个宏然后重新编译内核,不过资料也同时指出这样会带来网络效率的下降,二是可以选择多进程的解决方案(传统的 Apache方案...
分类:
其他好文 时间:
2015-01-06 18:06:54
阅读次数:
186
0x00 背景今天看到zone里有同学发帖说了探测支付宝登录状态的帖子:http://zone.wooyun.org/content/17665由此我想到了我们parsec的@/fd 半年前提到的一个思路,当时他给出了一个探测twitter是否登录的页面,可是我那个时候才疏学浅,好像一直没理解。这时...
分类:
Web程序 时间:
2015-01-04 18:45:39
阅读次数:
264
1.打开文件 open; 格式:int open(const char * pathname, int flags,mode_t mode); 例:创建文件 fd = open("test.txt", O_CREATE|0777); if(fd == -1){ ...
分类:
系统相关 时间:
2015-01-03 22:19:08
阅读次数:
223
Uwsgistart uswgiuwsgi --harakiri 360000 --body-read-warning=10000 --max-fd=65536 -b 1000000 --http-buffer-size=65536 --post-buffering 8192 --post-buff...
分类:
编程语言 时间:
2014-12-29 13:31:44
阅读次数:
250
1.HTML不把“ ”当空格,因为HTML中经常有缩进,如果把缩进的空格在浏览器中以空格形式展现的话,排版会很麻烦。
2.如果要用空格,就用 (no-break space)。
3.为什么有特殊含义:标签的定义。
4.fd 表示粗体。
5. 此网站根目录下的这种图片。 这么写就不对了,表示的是当前目录下的这张图片。
"/"表示网站根目录,"../"表示父目录,,"...
分类:
Web程序 时间:
2014-12-27 23:16:38
阅读次数:
476
本节介绍 os 模块创建 file 对象的函数os.fdopen(fd[, mode[, bufsize]]) 用文件描述符打开文件,返回一个连接到fd 的打开的文件对象,参数mode和bufsize与Python内置函数open()的对应参数含义相同,如果fdopen()抛出异常,fd对应的...
分类:
编程语言 时间:
2014-12-26 00:53:31
阅读次数:
262
Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后 首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD...
分类:
其他好文 时间:
2014-12-25 16:06:05
阅读次数:
290
第二种更通用的、使connect调用超时的方法是使套接字成为无阻塞的,然后用select等待它完成。这种方法避免了使用alarm时遇到的很多问题,但我们必须承认,即使是在UNIX实现中,这种方法还是存在很多可移植性问题。int main(int argc, char **argv){ fd_s...
分类:
其他好文 时间:
2014-12-23 17:19:38
阅读次数:
214
//使用fcntl对文件进行加锁#include "stdio.h"#include "unistd.h"#include "fcntl.h"intmain(){ intfd; structflocklk; intr; fd=open("a.txt",O_RDWR); if(fd==-1) { fd...
分类:
编程语言 时间:
2014-12-23 12:02:14
阅读次数:
438
4.1 概述管道只在亲缘进程间使用,FIFO在任意进程间使用4.2 管道#include int pipe(int fd[2])fd[0]用来读管道,fd[1]用来写管道1)命令who|sort|lp中的管道:2)管道实现文件服务器与客户端:#include #include #include #i...
分类:
其他好文 时间:
2014-12-22 21:18:47
阅读次数:
195