Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/05/2005, 18:36
Avatar de stone_neo
stone_neo
 
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años, 7 meses
Puntos: 15
Sockets en Linux

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.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)