#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);
}
}