في ماتي ، إرسال طلبين أو أكثر إلى الخادم في وقت واحد؟

StackOverflow https://stackoverflow.com/questions/3824285

سؤال

أنا أستخدم Mate's RemoteObjectInvoker لاتصال أساليب في واجهة برمجة تطبيقات FluorineFX الخاصة بي. ومع ذلك ، يبدو أن جميع الطلبات يتم إرسالها إلى تسلسل الخادم. هذا هو ، إذا قمت بإرسال مجموعة من الرسائل في نفس الوقت ، لم يتم إرسال المرتبة الثانية حتى العائد الأول. هل هناك على أي حال لتغيير هذا السلوك؟ لا أريد أن يكون تطبيقي غير مستجيب بينما يتم معالجة الطلب الطويل.

هل كانت مفيدة؟

المحلول

هذه سيساعدك الموضوع على فهم ما يحدث (يتحدث عن Blazeds/LiveCylce لكنني أفترض أن الفلور يستخدم نفس النهج). في بضع كلمات ما يحدث هو: أ) يقوم مشغل الفلاش بتجميع جميع مكالماتك في منشور HTTP واحد. ب) يتلقى الخادم (المشتعل ، الفلور ، إلخ) الطلب ويبدأ في تنفيذ الأساليب بشكل متسلسل ، واحد تلو الآخر.

حلول

أ) لديك منشور HTTP واحد لكل طريقة ، بدلاً من منشور HTTP واحد يحتوي على جميع رسائل AMF. لذلك يمكنك استخدام httpchannel بدلاً من amfchannels (داخليًا ، يستخدم flash.net.urlloader بدلاً من flash.net.netconnection). سوف تقتصر على الحد الأقصى لعدد الاتصال الموازي المحدد من قبل متصفحك.

ب) ليس لديك سوى منشور HTTP واحد ولكنه قم بتنفيذ حل ذكي على الخادم (سيكلفك الكثير من وقت التطوير). في الأساس ، يمكنك كتابة المعالج المتوازي الخاص بك واستخدام مستهلكي الرسائل/الناشرين من أجل إرسال نتيجة أساليبك إلى العميل.

ج) هناك حل يشبه أ) https://bugs.adobe.com/jira/browse/blz-184 - قم بإنشاء جهاز التحكم عن بُعد باليد وإلحاق معرف عشوائي في نهاية نقطة النهاية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top