#include #include #include #include #include #include int main(int argc,char *argv[]) { int sock,c_sock; int err; struct sockaddr_in servidor,cliente; char buf[20000]; FILE *f; /* Abrimos el socket */ sock=socket(PF_INET,SOCK_STREAM,0); /* Rellenamos la estructura para pedir puerto */ servidor.sin_family=AF_INET; servidor.sin_port=htons(80); servidor.sin_addr.s_addr=INADDR_ANY; err = bind(sock,(struct sockaddr *)&servidor,sizeof(servidor)); if (err ==-1) { printf("Error!! no puedo coger el puerto!!!\n"); exit(-1); } listen(sock,5); while (1) { int dirlen; dirlen=sizeof(cliente); c_sock=accept(sock,(struct sockaddr *)&cliente,&dirlen); printf("Sirviendo una pagina a la direccion %x\n", ntohl(cliente.sin_addr.s_addr)); /* Ponemos la Stream sobre el socket */ f=fdopen(c_sock,"w+"); /* Deberiamos leer la peticion de Web */ /* Para ver que pagina nos piden */ /* con un fgets o algo asi */ sleep(1); fprintf(f,"funciona\n"); fprintf(f,"\n"); fprintf(f,"

\nYa tengo mi propioservidor de web\n

\n"); fprintf(f,"\n"); fclose(f); } }