2011年7月13日

FD_SET,FD_ISSET,FD_ZERO,select

摘要: FD_SET 打开类型fd_set的某一位FD_ZERO初始化fd_setFD_ISSET测试结构fd_set中的描述字直接到vc98/include的文件中查找他们就可以找到代码。select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include <sys/time.h> #include <unistd.h> select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include <sys/time.h> #include <unistd.h> int select(int maxf 阅读全文

posted @ 2011-07-13 14:36 wolflion 阅读(1887) 评论(1) 推荐(0) 编辑

fd_set 用法

摘要: select()函数主要是建立在fd_set类型的基础上的。fd_set(它比较重要所以先介绍一下)是一组文件描述字(fd)的集合,它用一位来表示一个fd(下面会仔细介绍),对于fd_set类型通过下面四个宏来操作:fd_set set;FD_ZERO(&set);FD_SET(fd, &set);FD_CLR(fd, &set);FD_ISSET(fd, &set);过去,一个fd_set通常只能包含<32的fd(文件描述字),因为fd_set其实只用了一个32位矢量来表示fd;现在,UNIX系统通常会在头文件<sys/select.h>中定 阅读全文

posted @ 2011-07-13 14:19 wolflion 阅读(1380) 评论(1) 推荐(0) 编辑

初步认识迭代服务器和并发服务器

摘要: 迭代服务器比较原始,它的原型可以描述成: while(1){new_fd =服务器accept客户端的连接(new_fd = accept(listenfd, XX, XX))逻辑处理在这个new_fd上给客户端发送消息关闭new_fd}也就是说,这个进程是一个一个处理各个客户端发来的连接的,比如一个客户端发来一个连接,那么只要它还没有完成自己的任务,那么它就一直会占用服务器的进程直到处理完毕后服务器关闭掉这个socket。并发服务器是最经常用的:1 while(1)2 {3 new_fd =服务器accept客户端的连接4 if(是子进程)5 {6 首先关闭掉监听fd // 因为子进程并不需 阅读全文

posted @ 2011-07-13 09:35 wolflion 阅读(2967) 评论(0) 推荐(1) 编辑

unix网络编程(第三版)中的unp.h

摘要: /* Our own header. Tabs are set for 4 spaces,not 8 */#ifndef __unp_h#define __unp_h#include "/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/config.h" /* configuration options for current OS */ /* "../config.h" is generated by configure *//* If anything changes in the following 阅读全文

posted @ 2011-07-13 09:15 wolflion 阅读(4052) 评论(0) 推荐(0) 编辑

导航