 |
C++Builder 5 Se trata de un pequeño programa que demuestra el uso del método detallado junto con un pool de conexiones. Como ya hemos mencionado anteriormente, se denomina "pool" (que significa reserva, fondo común o algo así) a un objeto que nos permite reutilizar un elemento dado, almacenando una lista y utilizando los elementos almacenados en vez de crearlos nuevos cada vez que sean necesarios. En nuestro caso, el "pool de conexiones" se encarga de reutilizar las conexiones a internet, creando el descriptor la primera vez, y reutilizarlo cada vez que sea necesaria, sin tener que crear y destruir varias veces la misma conexión.
Fuentes en ZIP
|

 |
Visual C++ 6 y C++Builder 5 Una pequeña aplicación que demuestra cómo podemos hacer uso de la cabecera “Range” desde WinInet, para implementar una reanudación de descarga. Para conseguirlo, se almacena en un archivo los datos de las descargas que se han cancelado antes de su finalización, y después se reanuda la descarga en el punto en que fue cancelada. Como curiosidad, también se demuestra cómo diseñar el sistema para hacerlo compatible con distintos entornos de programación. Para conseguirlo, se ha modelado en capas, tal y como podéis ver en este diagrama UML. Como veréis, se comparte el código compatible a través de una capa de lógica de la descarga y reanudación, que sólo utiliza funciones propias del API Win32 y WinInet (en rojo), mientras que el interfaz gráfico se implementa en distintas capas, dependiendo del entorno con que trabajemos: formularios VCL desde C++Builder (azul) y diálogos de MFC desde Visual C++ (amarillo). De este modo, separando el interfaz gráfico de la lógica, conseguimos reutilizar código compatible.
Fuentes en ZIP |