
网络编程
文章平均质量分 95
yvhqbat
whuster
展开
-
客户/服务器程序设计范式(9类)
1. 迭代服务器 在完全处理某个客户的请求之后才转向下一个客户。2. 并发服务器为每个客户调用fork派生一个子进程。为每个客户创建一个线程。预先派生子进程,让服务器在启动阶段调用fork创建一个子进程池,每个客户请求由当前可用子进程池中的某个闲置子进程处理。预先创建线程,让服务器在启动阶段创建一个线程池,每个客户由当前可用线程池中的某个闲置线程处理。I/O多路复用: 使用selec原创 2016-06-07 14:43:59 · 668 阅读 · 0 评论 -
套接字选项
获取和设置套接字选项的函数:#include <sys/socket.h>int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);int setsockopt(int sockfd, int level, int optname, void *optval, socklen_t optl原创 2016-06-07 15:28:41 · 327 阅读 · 0 评论 -
I/O多路复用(select、poll、epoll)
参考:https://segmentfault.com/a/1190000003063859select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O。1. I/O模型 对于一次IO访问(以read举例),数据会先原创 2016-06-07 15:35:01 · 891 阅读 · 0 评论