Que tal amigos, tengo necesito ayuda en un pequeño programa que hize con sockets, aqui les dejo el codigo pa k lo vean
Código:
#include<stdlib.h>
#include<sys/socket.h>
#include<stdio.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
int main(int argc,char* argv[])
{
const int Puerto=25;
struct sockaddr_in Servidor;
int IdScaner;
Servidor.sin_family=AF_INET;
inet_aton(argv[1],&Servidor.sin_addr);
Servidor.sin_port=htons(Puerto);
IdScaner=socket(PF_INET,SOCK_STREAM,0);
printf("---------------------------------------\n");
printf(" Scaneador de puertos SMTP StoneScan\n");
printf(" Copyright 2005\n");
printf("---------------------------------------\n\n");
if(IdScaner==-1)
{
puts("Hubo un error al crear el socket");
exit(-1);
}
else
{
if(connect(IdScaner,(struct sockaddr*)&Servidor,sizeof(Servidor))==0)
{
puts("Servidor SMTP funcionando");
char *buffer1;
char *buff1;
int bytes_enviados1,bytes_recibidos1;
buffer1="HELO ";
bytes_enviados1=send(IdScaner,buffer1,strlen(buffer1),0);
if(bytes_enviados1==-1)
printf("Fallo al mandar HELO");
printf("Comando HELO enviado satisfactoriamente \n");
bytes_recibidos1=recv(IdScaner,buff1,strlen(buff1),0);
if(bytes_recibidos1==-1)
printf("mal \n");
else
printf("%s \n",buff1);
}
else
{
puts("Servidor SMTP no esta funcionando");
exit(-1);
}
}
return 0;
}
Me parece que hay un error en la parte donde se recibe con la funcion recv() por que no sale lo que deberia salir.
Espero su ayuda. Muchas gracias.