/*********************服务器模型******************/一、循环服务器:循环服务器在同一时刻只可以相应一个客户端请求;二、并发服务器:并发服务器在同一时刻可以相应多个客户端的请求./****************循环服务器**************/1. UD...
分类:
其他好文 时间:
2014-10-28 11:48:45
阅读次数:
115
signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);signal(SIGCHLD, SIG_IGN);因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。如果将此信号的处理方式设为忽略,可让内核把僵尸子进程转交给in....
分类:
其他好文 时间:
2014-10-24 18:24:50
阅读次数:
176
引言让服务器在启动阶段调用fork创建一个子进程池,通过子进程来处理客户端请求。子进程与父进程之间使用socketpair进行通信(为了方便使用sendmsg与recvmsg,如果使用匿名管道,则无法使用以上两个函数)。以下针对TCP进行分析。server端使用select轮询用于监听客户端请求的被...
分类:
系统相关 时间:
2014-10-12 21:43:28
阅读次数:
371
引言本文会写一个并发服务器(concurrent server)程序,它为每个客户请求fork出一个子进程。注意1. 信号处理问题对于相同信号,按信号的先后顺序依次处理。可能会产生的问题是,正在处理sig1信号时,又来了2个或更多的sig1信号,此sig1时只会在处理完原来的sig1信号后,再处理1...
分类:
系统相关 时间:
2014-10-12 20:25:58
阅读次数:
355
多进程编程多用在并发服务器的编写上,当收到一个请求时,服务器新建一个进程处理请求,同时继续监听。为了提高响应速度,服务器采用进程池的方法,在初始化阶段创建一个进程池,池中有许多预创建的进程,当请求到达时,只需从池中分配出来一个进程即可;当进程不够用时,进程池将再次创建一批进程。类似的方法可以用在.....
分类:
编程语言 时间:
2014-10-09 14:31:54
阅读次数:
317
内容分布:(1)Linux网络概述(2)Linux网络编程基础(3)TCP网络程序设计(4)UDP网络程序设计(5)Linux并发服务器设计一、Linux网络概述1、Linux网络优势Linux为用户提供了完善的、强大的网络功能:(1)完善的内置网络。其他操作系统不包含如此紧密地和内核结合在一起的网...
分类:
其他好文 时间:
2014-10-07 12:36:03
阅读次数:
191
??
客户端使用select模型:
1 #include
2 #include
3 #include string.h>
4 #include
5 #include
6 #include
7 #include in.h>
8 #include
9 #include select.h>
10 #include
11
12 #...
分类:
其他好文 时间:
2014-10-04 14:53:17
阅读次数:
248
??
1 epoll
epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并、发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Read...
分类:
其他好文 时间:
2014-10-01 01:34:50
阅读次数:
370
??
1 select
A:select能监听的文件描述符个数受限于FD_SETSIZE,一般为1024,单纯改变进程打开
的文件描述符个数并不能改变select监听文件个数
B:解决1024以下客户端时使用select是很合适的,但如果链接客户端过多,select采用的是轮询模型,会大大降低服务器响应效率,不应在select上投入更多精力
2
依赖的头文件
...
分类:
其他好文 时间:
2014-10-01 00:12:10
阅读次数:
215
??
1 poll
A
依赖的头文件
#include
B
函数声明
int poll(struct pollfd *fds, nfds_t nfds,int timeout);
struct pollfd {
int fd; /*
文件描述符*/
short events; /*
监控的事件*/
short revents...
分类:
其他好文 时间:
2014-09-30 23:55:20
阅读次数:
204