VbFcgi
¡Codifique el back-end de su aplicación web en VB6! VbFcgi hace que sea fácil aprovechar sus conocimientos de programación actuales e incluso obtener sus aplicaciones cliente/servidor VB6 existentes en la web.
![Captura de pantalla de demostración de VBFCGI](https://images.downcodes.com/uploads/20241214/img_675d1ee17e00630.png)
Introducción
VbFcgi es un marco de host/servidor FCGI para aplicaciones web ActiveX/COM DLL de Visual Basic 6 (VB6). Fue desarrollado contra Nginx, pero debería funcionar con cualquier servidor web que implemente la especificación FCGI.
Diagrama de proceso
![Diagrama de proceso VBFCGI](https://images.downcodes.com/uploads/20241214/img_675d1ee17f4f631.png)
Binarios incluidos
Hay 3 componentes principales del marco VbFcgi:
- VbFcgiLib.dll : esta es la biblioteca de marco principal que incluye todo el código para escuchar y responder a solicitudes FCGI desde el servidor web, así como analizar registros para parámetros FCGI, cookies HTTP, etc. Este archivo debe incluirse con cada distribución de su aplicación FCGI.
- VbFcgiHost.exe : este es el archivo ejecutable principal que generará oyentes FCGI como intermediario entre su servidor web y su aplicación FCGI. Incluye soporte para ejecutar múltiples oyentes en puertos secuenciales para equilibrar la carga y también monitorea los oyentes terminados que necesitan reaparecer. Por último, también actúa como coordinador de apagado para todas las instancias de escucha FCGI en ejecución. Este archivo debe incluirse con cada distribución de su aplicación FCGI.
- VbFcgiApp.dll : este es el código de demostración de la aplicación FCGI. La versión incluida aquí es una prueba de concepto muy básica que enviará una página HTML con una tabla de los parámetros FCGI que se recibieron, y también demuestra el uso básico de cookies y parámetros de consulta HTTP. Este archivo no debe incluirse al distribuir ¡Tu propia aplicación FCGI! En su lugar, debe crear su propia versión como se describe en la sección Creación de su propia aplicación FCGI a continuación.
Si bien las DLL anteriores son bibliotecas COM ActiveX, NO es necesario registrarlas con regsvr32 al implementarlas para los usuarios, ya que este código utiliza la biblioteca DirectCOM sin registro de Olaf Schmidt. Sin embargo, debe registrar las DLL anteriores en su máquina de desarrollo.
También se incluye una compilación binaria de Nginx con una configuración básica para admitir un único servidor de escucha FCGI en localhost:9100. Esto se incluye por conveniencia y para demostrar una configuración mínima. En la mayoría de los casos, debería tener su propio Nginx (u otro servidor web) configurado correctamente en ejecución.
Por último, también he incluido la excelente biblioteca vbRichClient5 de Olaf Schmidt (http://www.vbrichclient.com/), nuevamente por conveniencia. Siempre puede obtener la última versión en el sitio web de vbRichClient5.
Uso de demostración
- Si aún no tiene un servidor web en ejecución, inicie nginx desde la línea de comandos yendo a la carpeta .VbFcgibinnginx y luego ejecutando el comando nginx.exe. Si ya tiene un servidor web en ejecución, asegúrese de que esté configurado para pasar solicitudes *.fcgi desde el navegador al puerto 127.0.0.1 9100.
- Desde la línea de comando, inicie VbFcgiHost.exe con el siguiente comando: vbfcgihost.exe /host 127.0.0.1 /port 9100 /spawn 1
- Abra su navegador y vaya a http://127.0.0.1/vbfcgiapp.fcgi; debería ver la respuesta HTML de la aplicación FCGI de demostración.
Creando tu propia aplicación FCGI
Puede utilizar el código fuente de VbFcgiApp incluido como punto de partida; todo el trabajo se realiza en el método IFcgiApp_ProcessRequest, así que revíselo exhaustivamente.
Para escribir su propia aplicación FCGI desde cero, debe:
- Inicie un nuevo proyecto DLL ActiveX en VB6.
- Cambie el nombre del proyecto de "Proyecto1" a "MyFcgiApp" (o el nombre que desee que tenga).
- Cambie el nombre de "Clase1" a "CFcgiApp".
- Agregue una referencia a VbFcgiLib desde el menú Proyectos > Referencias.
- En la sección General de la clase "CFcgiApp", escriba; Implementa VbFcgiLib.IFcgiApp
- Seleccione "IFcgiApp" de la lista desplegable en la vista de código. Creará el método IFcgiApp_ProcessRequest por usted.
- Codifica tu aplicación en el método IFcgiApp_ProcessRequest (el resto del maldito búho).
- Construya su aplicación DLL.
- Haga una copia de la DLL creada y cambie la extensión a .fcgi.
- Mueva el archivo .fcgi a la misma carpeta que los archivos VbFcgiHost.exe y VbFcgiLib.dll.
NOTA: No necesita registrar la DLL de su aplicación FCGI, ni VbFcgiLib.dll cuando la distribuya, ya que este marco utiliza la creación de instancias sin registro.
Cuando posteriormente ejecute VbFcgiHost.exe, utilizará su .fcgi como una especie de "complemento" para responder a las solicitudes FCGI correspondientes. Por ejemplo, escribir http://localhost/myapp.fcgi hará que VbFcgiHost cree una instancia de la clase CFcgiApp desde la DLL myapp.fcgi almacenada en la misma carpeta y luego llamará a IFcgiApp_ProcessRequest en esa clase.
¡Disfrutar!