#include <stdio.h> #include <stdlib.h> #include <winsock2.h> #include <string.h>
#define MAX 1000
int sock, numero_bytes, salir, i; char buffer[MAX], comando[MAX], c[MAX]; char command[MAX]; double largo, total;
void main (void) { struct sockaddr_in estructura; WSADATA wsaData; WSAStartup(MAKEWORD(1, 1), &wsaData);
salir = 0; i=0;
sock=socket(AF_INET, SOCK_STREAM, 0); estructura.sin_family=AF_INET; estructura.sin_port=htons(21); estructura.sin_addr.s_addr=inet_addr("82.196.4.12"); memset(&(estructura.sin_zero), 0, sizeof (estructura.sin_zero)); // Conectarse al servidor printf ("Conectando...\n"); if (connect(sock, (struct sockaddr*)&estructura, sizeof(estructura)) == -1) { printf("Error en la conexión ..."); exit(-1); } if ((numero_bytes=recv(sock, buffer, MAX, 0))== -1) { printf("Error en recibir ..."); exit(-1); }
buffer[numero_bytes]='\0'; printf("%s \n", buffer);
// Identificarse printf ("\nUsuario lugarcia_es\n"); strcpy (command,"USER usuario\r\n"); numero_bytes = strlen (command); send(sock, command, numero_bytes, 0); numero_bytes = recv (sock, buffer, MAX, 0); buffer[numero_bytes]='\0'; printf("%s \n", buffer);
// Introducir password printf ("\nAutorizando...\n"); strcpy (command,"PASS password\r\n"); numero_bytes = strlen (command); send(sock, command, numero_bytes, 0); numero_bytes = recv (sock, buffer, MAX, 0); buffer[numero_bytes]='\0'; printf("%s \n", buffer);
// Comprobar tamaño archivo printf ("\nComprobando tamanio...\n"); strcpy (command,"SIZE versiones\r\n"); numero_bytes = strlen (command); send(sock, command, numero_bytes, 0); numero_bytes = recv (sock, buffer, MAX, 0); buffer[numero_bytes]='\0'; printf("%s \n", buffer);
// Descargar archivo???? // No funciona printf ("\nDescargar versiones...\n"); strcpy (command,"RETR versiones\r\n"); numero_bytes = strlen (command); send(sock, command, numero_bytes, 0); numero_bytes = recv (sock, buffer, MAX, 0); buffer[numero_bytes]='\0'; printf ("%s \n", buffer); // Salir strcpy (command, "QUIT\r\n"); numero_bytes = strlen (command); send (sock, command, numero_bytes, 0); numero_bytes = recv (sock, buffer, MAX, 0); buffer[numero_bytes]='\0'; printf("%s \n", buffer);
// Cerrar conexion closesocket(sock); WSACleanup(); }
|