1. Presentación: Este, aunque es un fallo sin importancia, me mosquea. Despues del listening, deberia aparecer un letrerito "
- Esperando cliente...", pero no sale hasta que alguien se conecta. El segundo fallo tiene mas importancia, pero me gustaria saber pork no va...
Alguien me puede ayudar???
Código
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <arpa/inet.h> int sockfd, newsock; int finalizar (int state) { close (sockfd); close (newsock); } int main () { struct sockaddr_in host, client; int a=sizeof (struct sockaddr); char pass [30]; if ((sockfd=socket (2, 1, 0))!=-1) else { finalizar (1); } host.sin_port=htons(31337); host.sin_family=AF_INET; host.sin_addr.s_addr=0; if(bind(sockfd,(struct sockaddr*)&host,sizeof(host))==-1) { finalizar (1); } if(listen(sockfd,5)==-1) { finalizar (1); } else if((newsock=accept(sockfd, (struct sockaddr*)&client, &a))==-1) { finalizar (1); } else send (newsock, "Password: ", 11, 0); recv (newsock, &pass, 30, 0); { send (newsock, " ==> Access granted.\n\n", 23, 0); } else { send (newsock, " ==> Access denied.\n\n", 22, 0); } finalizar (0); }
Evidentemente, este code es bastante simple, pero no funciona como deberia. Pueden ayudarme?
Saludos y muchas gracias.