UTNianos

Versión completa: [Informatica 1][Aporte] Libreria de Sockets
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2
Hola chicos! Aca les adjunto una libreria hecha por mi de Sockets, es muy util, espero que les sirvan =)

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

los valores que devuelven ksend, kresend son los bytes enviados, y el valor devuelto por krecv es son los bytes recibidos.
Saludos.
Buenísimo, seguro me va a servir. Este finde lo descargo desde Linux. Gracias =)
(24-11-2011 21:30)matyary escribió: [ -> ]Buenísimo, seguro me va a servir. Este finde lo descargo desde Linux. Gracias =)


Off-topic:
de nada =)
No te falto el h para poder usarlo che?


Estaria buenisimo si se puede liberar el codigo para que vean como se usan las primitivas.
(25-11-2011 00:16)brunodiaz escribió: [ -> ]No te falto el h para poder usarlo che?


Estaria buenisimo si se puede liberar el codigo para que vean como se usan las primitivas.

Lo decís por lo que está en el spoiler? Eso es una breve explicación de lo que hace cada función y sus prototipos. Seguro en el .rar están los .h. Yo mañana lo bajo y lo miro. Este finde voy a salir programando por las buenas o por las malas(?)
(25-11-2011 08:41)matyary escribió: [ -> ]
(25-11-2011 00:16)brunodiaz escribió: [ -> ]No te falto el h para poder usarlo che?


Estaria buenisimo si se puede liberar el codigo para que vean como se usan las primitivas.

Lo decís por lo que está en el spoiler? Eso es una breve explicación de lo que hace cada función y sus prototipos. Seguro en el .rar están los .h. Yo mañana lo bajo y lo miro. Este finde voy a salir programando por las buenas o por las malas(?)


Dentro del .rar esta la libreria .a nada mas. Si quieren subo el codigo ;)
No, no te decía para que subas todo. Porque como dijo bruno, para mí hace falta además de la librería subir los .h o no? A no ser que hayas creado otro tipo de librería... no me acuerdo si era la compartida o dinámica la que no necesitaba de los .h
Ya lo descargué. Lo voy a mirar.
(25-11-2011 18:32)matyary escribió: [ -> ]No, no te decía para que subas todo. Porque como dijo bruno, para mí hace falta además de la librería subir los .h o no? A no ser que hayas creado otro tipo de librería... no me acuerdo si era la compartida o dinámica la que no necesitaba de los .h
Ya lo descargué. Lo voy a mirar.

no, en este caso no se necesita ningun header...

para compilarlo se pone,
ej:
gcc -o send send.c -L . -lksocket -Wall
Upalala... me hiciste dar cuanta que no entiendo nada =(
Recién estoy entendiendo achivos. Muy perdido!

PD.: Igual compiló todo perfecto, el problema soy yo Jaja
(25-11-2011 19:14)matyary escribió: [ -> ]Upalala... me hiciste dar cuanta que no entiendo nada =(
Recién estoy entendiendo achivos. Muy perdido!

PD.: Igual compiló todo perfecto, el problema soy yo Jaja

jajaajj hay tiempo hay tiempo, te dedicas una semanita haciendo los ejercicios de la guia y salis re pro ;) jajajaj
Por suerte me exigen hasta archivos en la cursada, aunque para terminar los tps voy a tener que entender sockets. Cualquier cosa en enero salís de la pile un touch para explicarme(?) Jajaja
(25-11-2011 19:48)matyary escribió: [ -> ]Por suerte me exigen hasta archivos en la cursada, aunque para terminar los tps voy a tener que entender sockets. Cualquier cosa en enero salís de la pile un touch para explicarme(?) Jajaja

aah, re bien! furfaro nos hace hacer un proyecto final con todo lo que vimos...
jajaj dale (?), no me gusta la pileta, asi que no hay drama jajajaj =)
socket no es dificil, la parte odiosa son todas esas funciones que te tenes que acordar u.u
Lo piola de subir el código sería para que puedan aprender cómo se hace una librería así ;), creo que les puede venir muy bien =)
(25-11-2011 20:06)electroquimica escribió: [ -> ]aah, re bien! furfaro nos hace hacer un proyecto final con todo lo que vimos...
Sí, me habían comentado. Eso ya va más por la imaginación de cada uno. Y ahí está la dificultad, se te pueden ocurrir grandes cosas pero imposibles de hacer Jajaja Supongo que parte de tu proyecto tiene que ver con esto que acabás de subir asi que debés estar encaminada thumbup3 (si es que no lo terminaste).


Cita:
jajaj dale (?), no me gusta la pileta, asi que no hay drama jajajaj =)

Off-topic:
Entonces podríamos hacer un programa que simule una pileta de natación Idea Y mediante sockets yo podría mandarte una imagen mía haciendo estilo mariposa en la piscina y vos responderme con una imagen tuya nadando pata de rana. (Interesante para un proyecto[?], lo veo bastante complicado igual Jaja)


Cita:socket no es dificil, la parte odiosa son todas esas funciones que te tenes que acordar u.u
Mejor así, sería realmente brillante (y milagroso también) poder firmar la materia y dar el final sabiendo todo.


(25-11-2011 21:28)leandrodg escribió: [ -> ]Lo piola de subir el código sería para que puedan aprender cómo se hace una librería así ;), creo que les puede venir muy bien =)

Che, estaré bastante atrasado pero sé hacer librerías Jaja
Aunque ya que lo mencionaste, mi duda es porqué no necesito los .h para compilar.
Es una librería del tipo compartida no?
(25-11-2011 21:30)matyary escribió: [ -> ]
(25-11-2011 20:06)electroquimica escribió: [ -> ]aah, re bien! furfaro nos hace hacer un proyecto final con todo lo que vimos...
Sí, me habían comentado. Eso ya va más por la imaginación de cada uno. Y ahí está la dificultad, se te pueden ocurrir grandes cosas pero imposibles de hacer Jajaja Supongo que parte de tu proyecto tiene que ver con esto que acabás de subir asi que debés estar encaminada thumbup3 (si es que no lo terminaste).


Cita:
jajaj dale (?), no me gusta la pileta, asi que no hay drama jajajaj =)

Off-topic:
Entonces podríamos hacer un programa que simule una pileta de natación Idea Y mediante sockets yo podría mandarte una imagen mía haciendo estilo mariposa en la piscina y vos responderme con una imagen tuya nadando pata de rana. (Interesante para un proyecto[?], lo veo bastante complicado igual Jaja)


Cita:socket no es dificil, la parte odiosa son todas esas funciones que te tenes que acordar u.u
Mejor así, sería realmente brillante (y milagroso también) poder firmar la materia y dar el final sabiendo todo.


(25-11-2011 21:28)leandrodg escribió: [ -> ]Lo piola de subir el código sería para que puedan aprender cómo se hace una librería así ;), creo que les puede venir muy bien =)

Che, estaré bastante atrasado pero sé hacer librerías Jaja
Aunque ya que lo mencionaste, mi duda es porqué no necesito los .h para compilar.
Es una librería del tipo compartida no?


leete esto y sacate las dudas jajajaja =P

http://www.electron.frba.utn.edu.ar/~afu...olaLib.pdf



Off-topic:
jajajaj el proyecto que vos mencionas en interesante, podemos implementar la interfaz grafica tambien....
Páginas: 1 2
URLs de referencia