#include "csapp.h" /* Implement a web server that always returns the page http://www.cs.utah.edu/~mhall/ */ int main() { char* portno = "4400"; int ls = Open_listenfd(portno); while(1) { struct sockaddr_in addr; unsigned int len = sizeof(addr); char *buffer; int s, web; s = Accept(ls, (struct sockaddr *)&addr, &len); web = Open_clientfd("www.cs.utah.edu", "80"); char* request = "GET /~mhall/ HTTP/1.0\r\n\r\n"; Rio_writen(web, request, strlen(request)); buffer = malloc(MAXBUF); while(1) { int bytes = Rio_readn(web, buffer, MAXBUF); if(bytes == 0) break; Rio_writen(s, buffer, bytes); } free(buffer); Close(s); Close(web); } }