24-11-2011, 21:17
Hola chicos! Aca les adjunto una libreria hecha por mi de Sockets, es muy util, espero que les sirvan
los valores que devuelven ksend, kresend son los bytes enviados, y el valor devuelto por krecv es son los bytes recibidos.
Saludos.
Spoiler: Mostrar
Las funciones en estas librerias son:
int ksend(char *path,int port,int *fd);
int krecv(char *path,char *ip,int port);
int kresend(char *path,int port,int sockfd);
void kclose(int sockfd);
//----------------------------------------------------------------------------
int ksend(char *path,int port,int *fd);
Esta funcion permite enviar un archivo:
path-> es el archivo a enviar;
port-> es el puerto de la conexion;
*fd-> devuelve el socket;
ESTA FUNCION SOLO SE PUEDE USAR UNA VEZ, DESPUES SE TIENE QUE USAR "kresend"
ej:
int fd;
ksend("",2500,&fd);
solo se creara el socket, porque no se mando nada.
//----------------------------------------------------------------------------
int kresend(char *path,int port,int sockfd);
Esta funcion permite reenviar un archivo cuando el socket esta abierto:
path-> es el archivo a enviar;
port-> es el puerto de la conexion (es recomendable que sea igual que ksend);
sockfd-> por aca le tenes que pasar el socket;
//----------------------------------------------------------------------------
void kclose(int sockfd);
Esta funcion cierra el socket;
//----------------------------------------------------------------------------
int krecv(char *path,char *ip,int port);
path-> es el archivo a enviar;
port-> es el puerto de la conexion;
ip-> es el numero de ip a conectar;
Ejemplo:
gcc -o rec rec.c -L. -lksocket -Wall
int ksend(char *path,int port,int *fd);
int krecv(char *path,char *ip,int port);
int kresend(char *path,int port,int sockfd);
void kclose(int sockfd);
//----------------------------------------------------------------------------
int ksend(char *path,int port,int *fd);
Esta funcion permite enviar un archivo:
path-> es el archivo a enviar;
port-> es el puerto de la conexion;
*fd-> devuelve el socket;
ESTA FUNCION SOLO SE PUEDE USAR UNA VEZ, DESPUES SE TIENE QUE USAR "kresend"
ej:
int fd;
ksend("",2500,&fd);
solo se creara el socket, porque no se mando nada.
//----------------------------------------------------------------------------
int kresend(char *path,int port,int sockfd);
Esta funcion permite reenviar un archivo cuando el socket esta abierto:
path-> es el archivo a enviar;
port-> es el puerto de la conexion (es recomendable que sea igual que ksend);
sockfd-> por aca le tenes que pasar el socket;
//----------------------------------------------------------------------------
void kclose(int sockfd);
Esta funcion cierra el socket;
//----------------------------------------------------------------------------
int krecv(char *path,char *ip,int port);
path-> es el archivo a enviar;
port-> es el puerto de la conexion;
ip-> es el numero de ip a conectar;
Ejemplo:
gcc -o rec rec.c -L. -lksocket -Wall
los valores que devuelven ksend, kresend son los bytes enviados, y el valor devuelto por krecv es son los bytes recibidos.
Saludos.