[实习目的] bind(...);
while
(1)
{
recvfrom(...);
process(...);
sendto(...);
}3. tcp循环服务器的实现也不难:tcp服务器接受一个客户端的连接,然后处理,完成了这个客户的所有请求后,断开连接;3.1. 算法如下(tcp服务器):
socket(...);
bind(...);
listen(...);
while
(1)
{
accept(...);
while
(1)
{
read(...);
process(...);write(...);
}
close(...); bind(...);
listen(...);
while
(1)
{
accept(...);
if(fork(..)==0)
{
close(...);while
(1)
{
read(...);
process(...);
write(...);
}
close(...);
exit(...);
}
close(...);
} 4. tcp并发服务器可以解决tcp循环服务器客户机独占服务器的情况,改善了对客户程序的响应速度; 不过也同时带来了一个不小的问题:为了响应客户机的请求,服务器要创建子进程来处理, 而创建子进程是一种非常消耗资源的操作,这明显增加了系统调度的开销;5. 为了解决创建子进程带来的系统资源消耗,人们又想出了多路复用i/o模型.5.1.该模型一般用函数select和相关的四个宏定义:int select(int fd,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout)
void fd_set(int fd,fd_set *fdset)
void fd_clr(int fd,fd_set *fdset)
void fd_zero(fd_set *fdset) <>
近500万道试题、20多万套资源、50多万篇作文、60多万篇范文免费使用
每天仅需0.22元,尊享会员权益