VbFcgi
قم بترميز الواجهة الخلفية لتطبيق الويب الخاص بك في VB6! يُسهل VbFcgi الاستفادة من معرفتك البرمجية الحالية وحتى الحصول على تطبيقات عميل/خادم VB6 الموجودة لديك على الويب.
مقدمة
VbFcgi هو إطار عمل مضيف/خادم FCGI لتطبيقات ويب Visual Basic 6 (VB6) ActiveX/COM DLL. تم تطويره ضد Nginx، ولكن يجب أن يعمل مع أي خادم ويب يطبق مواصفات FCGI.
مخطط العملية
الثنائيات المدرجة
هناك ثلاثة مكونات رئيسية لإطار عمل VbFcgi:
- VbFcgiLib.dll - هذه هي مكتبة الإطار الرئيسية التي تتضمن كافة التعليمات البرمجية للاستماع والاستجابة لطلبات FCGI من خادم الويب، بالإضافة إلى تحليل السجلات لمعلمات FCGI وملفات تعريف الارتباط HTTP وما إلى ذلك... يجب تضمين هذا الملف مع كل توزيع لتطبيق FCGI الخاص بك.
- VbFcgiHost.exe - هذا هو الملف الرئيسي القابل للتنفيذ والذي سينتج مستمعي FCGI كوسيط بين خادم الويب الخاص بك وتطبيق FCGI الخاص بك. يتضمن دعمًا لتشغيل مستمعين متعددين على منافذ تسلسلية لموازنة التحميل، كما أنه يراقب المستمعين الذين تم إنهاؤهم والذين يحتاجون إلى إعادة النشر. وأخيرًا، يعمل أيضًا كمنسق لإيقاف التشغيل لجميع مثيلات مستمع FCGI قيد التشغيل. يجب تضمين هذا الملف في كل توزيع لتطبيق FCGI الخاص بك.
- VbFcgiApp.dll - هذا هو رمز تطبيق FCGI التجريبي. الإصدار المضمن هنا هو إثبات مفهوم أساسي للغاية حيث سيرسل صفحة HTML إلى المنبع مع جدول معلمات FCGI التي تم استلامها، ويوضح أيضًا الاستخدام الأساسي لملفات تعريف الارتباط ومعلمات استعلام HTTP. لا ينبغي تضمين هذا الملف عند التوزيع تطبيق FCGI الخاص بك! بدلاً من ذلك، يجب عليك إنشاء الإصدار الخاص بك كما هو موضح في قسم إنشاء تطبيق FCGI الخاص بك أدناه.
على الرغم من أن مكتبات DLL المذكورة أعلاه عبارة عن مكتبات COM ActiveX، فإنك لا تحتاج إلى تسجيلها في regsvr32 عند النشر للمستخدمين نظرًا لأن هذا الرمز يستخدم مكتبة DirectCOM الخالية من التسجيل الخاصة بـ Olaf Schmidt. ومع ذلك، يجب عليك تسجيل مكتبات DLL المذكورة أعلاه على جهاز التطوير الخاص بك.
يتضمن أيضًا إنشاء ثنائي لـ Nginx مع تكوين أساسي لدعم مستمع خادم مضيف FCGI واحد على المضيف المحلي:9100. يتم تضمين هذا من أجل الراحة وإظهار الحد الأدنى من التكوين. يجب أن يكون لديك Nginx (أو خادم ويب آخر) مهيأ بشكل صحيح ويعمل في معظم الحالات.
وأخيرًا، قمت أيضًا بتجميع مكتبة vbRichClient5 الممتازة الخاصة بـ Olaf Schmidt (http://www.vbrichclient.com/)، مرة أخرى من أجل الراحة. يمكنك دائمًا الحصول على أحدث إصدار من موقع vbRichClient5.
الاستخدام التجريبي
- إذا لم يكن لديك خادم ويب قيد التشغيل بالفعل، فابدأ تشغيل nginx من سطر الأوامر بالانتقال إلى المجلد .VbFcgibinnginx ثم تشغيل الأمر nginx.exe. إذا كان لديك بالفعل خادم ويب قيد التشغيل، فتأكد من تكوينه لتمرير طلبات *.fcgi من المتصفح إلى المنفذ 127.0.0.1 9100.
- من سطر الأوامر، ابدأ تشغيل VbFcgiHost.exe باستخدام الأمر التالي: vbfcgihost.exe /host 127.0.0.1 /port 9100 /spawn 1
- افتح متصفحك وانتقل إلى http://127.0.0.1/vbfcgiapp.fcgi - يجب أن تشاهد استجابة HTML من تطبيق FCGI التجريبي.
إنشاء تطبيق FCGI الخاص بك
يمكنك استخدام كود مصدر VbFcgiApp المضمن كنقطة بداية - يتم تنفيذ كل العمل بأسلوب IFcgiApp_ProcessRequest، لذا قم بمراجعته بشكل شامل.
من أجل كتابة طلب FCGI الخاص بك من البداية، يجب عليك:
- بدء مشروع ActiveX DLL جديد في VB6.
- قم بتغيير اسم المشروع من "Project1" إلى "MyFcgiApp" (أو أي اسم تريده).
- قم بتغيير اسم "Class1" إلى "CFcgiApp".
- أضف مرجعًا إلى VbFcgiLib من قائمة المشاريع > المراجع.
- في القسم العام لفئة "CFcgiApp"، اكتب؛ تنفذ VbFcgiLib.IFcgiApp
- حدد "IFcgiApp" من القائمة المنسدلة في عرض التعليمات البرمجية. سيقوم بإنشاء طريقة IFcgiApp_ProcessRequest لك.
- قم بترميز تطبيقك باستخدام طريقة IFcgiApp_ProcessRequest (باقي البومة اللعينة).
- قم ببناء تطبيق DLL الخاص بك.
- قم بعمل نسخة من ملف DLL المدمج وقم بتغيير الامتداد إلى .fcgi.
- انقل الملف .fcgi إلى نفس المجلد مثل الملفات VbFcgiHost.exe وVbFcgiLib.dll.
ملاحظة: لا تحتاج إلى تسجيل مكتبة الارتباط الحيوي (DLL) الخاصة بتطبيق FCGI، ولا VbFcgiLib.dll عند توزيعها حيث يتم استخدام إنشاء مثيل خالٍ من التسجيل بواسطة إطار العمل هذا.
عندما تقوم بعد ذلك بتشغيل VbFcgiHost.exe، فإنه سيستخدم ملف .fcgi الخاص بك باعتباره "مكونًا إضافيًا" (من نوع ما) للاستجابة لطلبات FCGI المقابلة. على سبيل المثال، كتابة http://localhost/myapp.fcgi ستؤدي إلى قيام VbFcgiHost بإنشاء مثيل لفئة CFcgiApp من myapp.fcgi DLL المخزنة في نفس المجلد، ثم سيقوم باستدعاء IFcgiApp_ProcessRequest في تلك الفئة.
يتمتع!