网络编程
文章平均质量分 85
funpig
带一束花回家
展开
-
select和epoll ET和LT
select&&epollselect:1.监听fd数量有限制,受控于fd_set数组大小2.每次select均要重新设置fd_set3.select函数内是通过poll依次轮询fd_set中的fd,4.select后,要依次轮训fd_set,使用FD_ISSET(fd,&fd_set)判断标志位是否置为1,然后进行处理5.需要从内核拷贝到用户空间epoll:原创 2013-05-22 18:42:36 · 1042 阅读 · 0 评论 -
nginx lingering_close
socket属性so_lingerstruct linger {int l_onoff; /* Linger active */int l_linger; /* How long to linger for */};一:close()1:l_onoff = 0;这是close() SO_LINGER属性的默认值原创 2013-06-04 23:26:30 · 2850 阅读 · 0 评论 -
进程通信:管道(pipe)和socketpair区别
管道pipe是半双工的,pipe两次才能实现全双工,使得代码复杂。socketpair直接就可以实现全双工socketpair对两个文件描述符中的任何一个都可读和可写,而pipe是一个读,一个写详间代码:一:pipe实现父子进程全双工通信:#include #include int main (){ int fd1[2],fd2[2]; pipe(f原创 2013-06-06 17:50:40 · 5700 阅读 · 0 评论 -
nginx 进程间通信
进程间通信(IPC)一:父进程与子进程间通信nginx是master-worker服务器模型,master负责接收外部信号,并给子进程发送信号,比如:重启,二进制文件替换等。在这里采用的是高级进程间通信方式:unix域套接字,socketpairnginx细节:子进程只保留自己的channel[1],并把其他子进程的channel[1]给关闭了,避免本进程误原创 2013-06-06 19:04:28 · 2405 阅读 · 0 评论