***************IO模型*****************
分类
在UNIX/Linux下主要有4种I/O 模型:
阻塞I/O:
常用、简单、效率低
非阻塞I/O:
可防止进程阻塞在I/O操作上,需要轮询
I/O 多路复用:
允许同时对多个I/O进行控制
信号驱动I/O:
一种异步通信模型
*****************服务器模型******************
【1】分类
在网络程序里面,通常都是一个服务器处理多个客户机。
为了处理多个客户机的请求, 服务器端的程序有不同的处理方式。
目前常用的服务器模型.
循环服务器:
循环服务器在同一个时刻只能响应一个客户端的请求
tcp循环服务器
udp循环服务器
并发服务器:
并发服务器在同一个时刻可以响应多个客户端的请求
tcp并发服务器
udp并发服务器
如何实现TCP并发服务器
方法1:使用父子进程实现tcp并发服务器
socket( )
sockaddr_in
bind( )
listen( )
while(1)
{
accept( )
if((pid = fork()) < 0)
{
perror("fail to fork");
exit(1);
}
else if( pid > 0) //父进程负责连接
{
}
else //子进程负责通信
{
while(1)
{
recv( )/send( )
}
}
}
|
热点新闻
返回
学员笔记
分类 在UNIX/Linux下主要有4种I/O 模型: 阻塞I/O: 常用、简单、效率低 非阻塞I/O: 可防止进程阻塞在I/O操作上,需要轮询 I/O 多路复用: 允许同时对多个I/O进行控制 信号驱动I/O: 一种异步通信模型 *******...
***************IO模型*****************
分类
在UNIX/Linux下主要有4种I/O 模型:
阻塞I/O:
常用、简单、效率低
非阻塞I/O:
可防止进程阻塞在I/O操作上,需要轮询
I/O 多路复用:
允许同时对多个I/O进行控制
信号驱动I/O:
一种异步通信模型
*****************服务器模型******************
【1】分类
在网络程序里面,通常都是一个服务器处理多个客户机。
为了处理多个客户机的请求, 服务器端的程序有不同的处理方式。
目前常用的服务器模型.
循环服务器:
循环服务器在同一个时刻只能响应一个客户端的请求
tcp循环服务器
udp循环服务器
并发服务器:
并发服务器在同一个时刻可以响应多个客户端的请求
tcp并发服务器
udp并发服务器
如何实现TCP并发服务器
方法1:使用父子进程实现tcp并发服务器
socket( )
sockaddr_in
bind( )
listen( )
while(1)
{
accept( )
if((pid = fork()) < 0)
{
perror("fail to fork");
exit(1);
}
else if( pid > 0) //父进程负责连接
{
}
else //子进程负责通信
{
while(1)
{
recv( )/send( )
}
}
}
|
相关推荐
全国咨询热线:400-611-6270
?2004-2018华清远见教育科技集团 版权所有 京ICP备16055225号 京公海网安备11010802025203号