Tengo un servidor que recibe la imagen y un cliente q la envial
les muestro los codigos
Cliente.c
Código C:
Ver original
#include <stdlib.h> #include <string.h> #include <stdio.h> #include <sys/select.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <unistd.h> int main(int argc, char **argv) { FILE *f1; char buffer2[1024000]; int leidos; char buf2[30]; /* Creo el Socket: SOCK_STREAM para TCP y SOCK_DGRAM par UDP */ int descriptor = socket(AF_INET, SOCK_STREAM, 0); /* Direccion Local */ /* Direccion remota ( a la que me quiero conectar )*/ { /* Con esto fuerzo a que el puerto local sea el 5201 y que tome la IP por defecto de la PC */ local_address->sin_family = AF_INET; local_address->sin_addr.s_addr = INADDR_ANY; local_address->sin_port = htons(5301); bind(descriptor, (struct sockaddr *)local_address, sizeof(struct sockaddr_in)); } { /* Con esto indico que me quiero conectar al puerto 5200 de la IP 127.0.0.1 (localhost) */ remote_address->sin_family = AF_INET; remote_address->sin_addr.s_addr = inet_addr("127.0.0.1"); remote_address->sin_port = htons(5300); } /* Me conecto al servidor */ connect(descriptor, (struct sockaddr *)remote_address , sizeof(struct sockaddr_in) ); if (f1==NULL) { return -1; } /* Le envio un Hola Mundo! */ /* Cierro el socket y por ende la conexion */ close(descriptor); return EXIT_SUCCESS; }
Servidor.c
Código C:
Ver original
#include <stdlib.h> #include <string.h> #include <stdio.h> #include <sys/select.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <unistd.h> #define SOCKET_MAX_BUFFER 100 int main(int argc, char **argv) { FILE *f2; char buf2[30]; char buffer2[1024000]; int leidos; int addrlen = sizeof(struct sockaddr_in); char buffer[SOCKET_MAX_BUFFER]; /* Creo el Socket: SOCK_STREAM para TCP y SOCK_DGRAM par UDP */ int descriptor = socket(AF_INET, SOCK_STREAM, 0); int remote_client; /* Direccion Local */ /* Direccion remota ( a la que me quiero conectar )*/ { /* Con esto fuerzo a que el puerto local sea el 5201 y que tome la IP por defecto de la PC */ local_address->sin_family = AF_INET; local_address->sin_addr.s_addr = inet_addr("127.0.0.1"); local_address->sin_port = htons(5300); bind(descriptor, (struct sockaddr *)local_address, sizeof(struct sockaddr_in)); } /* Activo la escucha de conexiones entrantes a traves del puerto 5200 y como maximo 100 conexiones.*/ listen(descriptor, 100); /* Acepto nueva conexion entrante */ remote_client = accept(descriptor, (struct sockaddr *)remote_address, (void *)&addrlen); /* Leo e imprimo la informacion recivida a traves de la nueva conexion */ recv(remote_client, buf2, 30, 0); ; if (f2==NULL) { return -1; } recv(remote_client, buffer2, 1024000, 0); /* Cierro el socket y por ende la conexion */ close(descriptor); return EXIT_SUCCESS; }
Que puede estar fallando