miércoles, 2 de diciembre de 2015

Comunicación TCP UDP

comunicación cliente-servidor con los protocolos TCP UDP 



 La arquitectura cliente-servidor  se basa en la comunicación de un cliente, que se encarga de hacer solicitudes o peticiones a  un servidor. 

Esta arquitectura funciona de la siguiente manera:

El cliente envía solicitudes al servidor por medio del protocolo IP y el puerto de escucha, luego el servidor responde a dicha solicitud con la misma dirección IP del cliente para que el mensaje llegue hasta el y además su puerto

Ahora programaremos  la comunicación entre un cliente y un servidor con Python utilizando sockets

pero primero ampliemos un poco más Python,  es un lenguaje de programación interpretado, de él se puede destacar su sintaxis, para el "no todo lo que se habre se cierra" como en otros lenguajes de programación como c++ , c o java que debes estar muy pendiente si te falta una llave que serrar o un punto y coma que poner, para muchos en la comunidad de programadores es muy interesante a muchos les gusta, además , es multiparadigma soporta programación orientada a objetos (POO) , programación imperativa y , programación funcional.

Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de manera fiable y ordenada.
El término socket es también usado como el nombre de una interfaz de programación de aplicaciones (API) para la familia de protocolos de Internet TCP/IP, provista usualmente por el sistema operativo.

1. Dados 4 números enteros, decir cuántos son perfectos y cuántos son primos. Los datos los pide el cliente y el servidor ejecuta el algoritmo que genera la respuesta y le devuelve la respuesta al cliente UDP.
Descargarlo desde Mega
Código fuente
2. Encuentre la ruta más corta de la siguiente red, los números representan las distancias correspondientes entre los nodos.
Descargarlo desde Mega
https://mega.nz/#!UUdhDBxJ!qDk4Vhvunb1M9oWs2-g-Q5Kt8lB842k-ED_WerZZPTU

3. La Registraduría Nacional del Estado Civil de Colombia, lo ha contratado a usted para que resuelva el siguiente problema.
Se desea desarrollar un sistema que permita capturar desde un cliente su identificación y este a su vez haga una solicitud a un servidor para que consulte si es jurado de votación, en el caso afirmativo debe decir la mesa en donde el ciudadano debe asistir como jurado. De igual forma el sistema del lado del cliente debe permitir consultar en qué lugar puede votar un ciudadano de acuerdo a su cédula.
Para resolver este problema debe implementar una base de datos o en su defecto unos archivos planos para hacer las consultas en el servidor.
Este ejemplo fue realizado orientado a objetos.
Descargarlo desde Mega
Presentación de Algoritmo de Enrutamiento de estado de enlace


En este enlace se puede encontrar una presentación  powerpoint , la cual explica cómo los routers toman las desicion mas eficiente para el envío de paquetes a través de la red hasta un terminal.



4. El FOSYGA, desea que le implementen una aplicación que permita de acuerdo a su número de identificación a que EPS pertenece y su nivel de SISBEN.
Al igual que el anterior ejercicio este también se encuentra realizado bajo el paradigma orientado a objetos, además  se puede descargar de Mega.
Descargarlo desde Mega