| 123456789101112131415161718192021222324 |
- #include "unp.h"
- #define MAXN 16384 /* max # bytes client can request */
- void
- web_child(int sockfd)
- {
- int ntowrite;
- ssize_t nread;
- char line[MAXLINE], result[MAXN];
- for ( ; ; ) {
- if ( (nread = Readline(sockfd, line, MAXLINE)) == 0)
- return; /* connection closed by other end */
- /* 4line from client specifies #bytes to write back */
- ntowrite = atol(line);
- if ((ntowrite <= 0) || (ntowrite > MAXN))
- err_quit("client request for %d bytes", ntowrite);
- Writen(sockfd, result, ntowrite);
- }
- }
|