martes, 12 de febrero de 2013

Tarea #2 - Clase - Protolos UDP Python

Los sockets UDP nos sirven para que la conexión no muera en caso de que un mensaje no llegue completo o no llegue totalmente, son muy útiles en chats, videoconferencias, llamadas telefónicas, etc, etc...

Reglas de este ejemplo:

El cliente lee un archivo lo fragmenta en partes de un largo de 10, cada parte se lo manda al server el cual se encarga de juntar las partes y cuando se cumple una condicion imprimir lo que que contenga esa variable en un archivo para liberar la memoria y volver hacer el ciclo.

Lo divido en 10 partes pero en realidad podemos hacerlo en cuantas partes queramos, el objetivo es que si se llegara a perder un mensaje, sea solo una parte y no todo completo..... el server lee lo que sea del cliente que sea.... el se encarga de formar los paquetes y cuando se cumpla una condición guardar en un .dat para liberar su memoria.


El server...


El cliente...

Capturas de Pantalla...


Es este caso, el mensaje es muy corto para guardarlo en un .dat así que se encuentra en memoria... ahora probemos con un mensaje un poco mas largo:


Cada ves que se imprime "GUARDANDO..." el server imprime en un .dat y libera la memoria que usa para recibir. Cada renglon en el cliente "<<" es lo que se envia.... es el texto fragmentado.


Como pueden ver el mensaje no llega del todo completo.... eso es lo que quería que vieran, que aunque no se envía bien la conexión sigue viva.


REFERENCIAS:

http://wiki.python.org/moin/UdpCommunication
http://www.ibm.com/developerworks/linux/tutorials/l-pysocks/section4.html
http://www.wellho.net/mouth/2695_TCP-v-UDP-Client-v-Server-Python-examples.html