内容 |
[实习目的] 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 |