网络编程实习报告
[实习目的]
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)
共2页,当前第1页12