1. عملية الاتصال الأساسية
الشكل 1 رسم تخطيطي لعملية الاتصال بين SWF+XML والخادم. انقر لتكبير الصورة
. يوضح الشكل 1 رسمًا تخطيطيًا لعملية الاتصال في هذا المثال. البرامج النصية من جانب الخادم التي تمرر المعلومات بين Flash وقاعدة البيانات تقرأ البيانات وتكتبها بتنسيق XML.
يمكنك استخدام ActionScript لتحويل المعلومات المجمعة في ملف SWF إلى كائن XML، ثم إرسال البيانات إلى البرنامج النصي من جانب الخادم كمستند XML. يمكنك أيضًا استخدام ActionScript لتحميل مستند XML الذي أرجعه الخادم إلى كائن XML لاستخدامه في ملف SWF. في هذا المثال، يتم حفظ بيانات XML ذات الصلة بواسطة برنامج البرنامج النصي الخاص بالخادم، وهو ما يركز عليه هذا المثال أيضًا.
2. طرق الاتصال بين flash وASP
يمكن استخدام مجموعة متنوعة من طرق الاتصال بين flash وASP. في هذا المثال، يتم استخدام كائن LoadVars.
يوفر LoadVars طريقة لإرسال المتغيرات إلى الخادم باستخدام طريقة POST.
3. البرنامج النصي للخادم
يمكن كتابة البرنامج النصي للخادم بواسطة مجموعة متنوعة من البرامج. في هذا المثال، يتم استخدام ASP كمثال لكتابة البرامج النصية ذات الصلة.
تعد Microsoft Active Server Pages (ASP) بيئة برمجة نصية من جانب الخادم تتيح لك إنشاء تطبيقات خادم ويب ديناميكية وتفاعلية وتشغيلها.
تتم كتابة البرامج النصية باستخدام لغة برمجة نصية مرتبطة بها؛ وتقع لغة البرمجة النصية في مكان ما بين HTML ولغات البرمجة مثل Java وC++ وVisual Basic. يستخدم HTML بشكل شائع لتنسيق النص وربط صفحات الويب. غالبًا ما تُستخدم لغات البرمجة لإرسال سلسلة معقدة من التعليمات إلى جهاز الكمبيوتر. يمكن أيضًا استخدام لغات البرمجة النصية لإرسال التعليمات إلى أجهزة الكمبيوتر، لكن بناء جملتها وقواعدها ليست صارمة ومعقدة مثل لغات البرمجة القابلة للترجمة. تُستخدم لغات البرمجة النصية بشكل أساسي لتنسيق النص واستخدام المكونات المترجمة المكتوبة بلغات البرمجة.
يتيح ASP لمطوري الويب كتابة عمليات كاملة بلغات برمجة نصية متعددة. في الواقع، يمكن استخدام لغات برمجة نصية متعددة ضمن ملف .asp واحد.
يمكننا استخدام أي لغة برمجة نصية تم تثبيت محرك البرمجة النصية المطابق لها على خادم الويب. يتم عادةً استخدام لغتين، VBScript وJavaScript، ومن بينهما لغة البرمجة النصية الافتراضية لـ ASP هي VBScript. في هذا المثال، يتم استخدام VBScript لكتابة البرنامج النصي.
دعونا نلقي نظرة على مثال الإنتاج المحدد أدناه.
مثال الإنتاج:
1. جانب الفلاش
قم أولاً بإنشاء الواجهة التالية. تم ذكر رمز التقاط نقاط التعليق التوضيحي في المحاضرة السابقة، بالإضافة إلى اسم المكان، يتم إضافة بعض المعلومات الأساسية. في النهاية، سيتم تعيين الكود الذي يجب حفظه إلى متغير السلسلة SendData_srt.
الشكل 2: واجهة ملف SWF 1
انقر لرؤية صورة أكبر
الشكل 3 تستخدم واجهة ملف SWF 2
متغيرًا يسمى "الارتباط" لقبول الرسائل من الخادم. إذا كانت قيمته 1، فهذا يشير إلى نجاح الاتصال بالخادم. يستخدم
LoadVars، ثم استخدم الأسلوب sendAndLoad لإرسال البيانات ضمن كيان LoadVars.
افتح لوحة الإجراءات الخاصة بالمخطط الزمني وأدخل كود ActionScript التالي:
function SendData():Void { // تحديد وظيفة إرسال البيانات var SendData = new LoadVars(); // إنشاء كائن LoadVars جديد SendData.Check = 1; // قم بتعيين إجراء التحقق للخادم للتحقق من البيانات = SendData_srt; // قم بتعيين متغير البيانات SendData_srt لإرساله إلى البيانات put_txt.text = "يرجى الانتظار..."; // يتم عرض نص الحالة على أنه "يرجى الانتظار..." SendData.onLoad = function(success) { // وظيفة للتحقق من الاتصال بالخادم if (success) { // إذا كان الاتصال بالخادم ناجحًا if (this.Link== "1") { // إذا كان إجراء التحقق ناجحًا put_txt.text = "تم وضع علامة بنجاح! بعد المراجعة فعالة."; // يتم عرض نص الحالة على أنه ناجح } } else { put_txt.text = "الخادم مشغول، يرجى المحاولة مرة أخرى لاحقًا! " //إذا كان الاتصال بالخادم غير ناجح ، سيتم إرجاع رسالة فشل } } ; SendData.sendAndLoad( "http://www.wanggesz.com/XMLData/Save.asp", SendData, "post") ; |
لإنشاء ملف ASP بالمحتوى التالي:
<%@Language="VBScript"%> <% Dim Check 'Define the Check متغير للتحقق من البيانات من ملف SWF Dim Link 'Define متغير الارتباط، يستخدم للعودة إلى ملف SWF للإشارة إلى الاتصال الناجح Dim data 'حدد متغير البيانات لتلقي البيانات التي سيتم حفظها من ملف SWF set data = Request.Form("data") 'استلام البيانات المراد حفظها المحفوظة من مجموعة ملفات SWF Check = Request.Form("Check") 'تحقق من البيانات من ملف SWF إذا كان الاختيار = 1 ثم 'إذا كانت هوية ملف SWF صحيحة الرابط = 1' اضبط قيمة الارتباط على 1، مما يشير إلى ذلك الاتصال ناجحEnd if 'إنهاء عبارة if xml.Async=False xml.ValidateOnParse=False xml.Load(server.mapPath("http://www.wanggesz.com/XMLData/data.xml")) مجموعة ملفات xml newNode=mxml.createNode ("element"، "data"، "") كجذر بيانات.appendChild(newNode) Set objname = mxml.createAttribute("data") xml.save(server.mapPath("http://www.wanggesz.com/XMLData/data.xml") ) %> |
بهذه الطريقة، أكملنا تشغيل الخريطة والتعليق التوضيحي لاسم المكان والوظائف الأخرى بدورها؛ أثناء عملية استخدام الخريطة، يعد استخدام أسماء الأماكن للاستعلام وتحديد المواقع أيضًا وظيفة شائعة لا غنى عنها.