سؤال

أود أن أضيف طريقة الحالية الخادم كوربا واجهة.سوف تتطلب ترجمة جميع العملاء ؟

أنا باستخدام تاو.

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

المحلول

Recompilation العملاء غير مطلوب (و لا ينبغي أن يكون ، بغض النظر عن الجرم الذي تستخدمه).كما آدم أشارت إلى عمليات البحث تتم العملية اسم (على التوالي مقارنة النص).

لقد فعلت ما كنت تصف مع ACE/تاو على أساس نظام واجهت أي مشاكل (خوادم في ACE/تاو C++, عملاء ACE/تاو C++, C# باستخدام Borland هو Janeva ، OmniORBPy).

نصائح أخرى

على افتراض أن العملاء والملقمات التواصل عبر IIOP لا recompilation هو مطلوب.وهو IIOP رسالة تحتوي على اسم واجهة اسم الأسلوب و المعلمات.إذا كان أي من تلك الأشياء قد تغيرت ، ثم كل شيء يجب أن تبقى متوافقة.إضافة طريقة أخرى إلى واجهة لن يغير أي من تلك الأشياء الموجودة.

من ناحية أخرى, إذا كانت الكائنات باستخدام بروتوكول آخر, أو إذا كان العملاء في عملية مع الخادم وبالتالي تجاوز IIOP ، قد تحتاج للتأكد من أن كل شيء يحصل معاد.

العمليات (طرق) هي بدا المتابعة عن طريق الاسم, لذلك تحتاج فقط إلى إعادة ترجمة العملاء التي تستخدم العملية الجديدة.

العملاء الذين يستخدمون مملوك (أيتشغيل في نفس العملية مع مملوك تمكين في الجرم السماوي) يجب أن يكون recompiled.للعملاء عن بعد قد لا تزال هي نفسها - كما قلت سابقا, طرق يقابله اسم رمزي.

ذلك يعتمد على استخدام جديدة idl الأسلوب.إذا كوربا الاحتجاج هو ثابت(SII) ، وهذا يعني العميل الخاص بك هو مرتبط مع كعب, لديك إلى إعادة ترجمة كعب إذا كنت ترغب في استخدام الخاص بك جديدة إضافة أسلوب واجهة.

إذا كوربا الاحتجاج هو الديناميكي(دي) لا يوجد كعب المطلوبة للعميل.لا recompilation هو مطلوب.في هذه الحالة, رمز العميل الخاص بك ينبغي أن يكون مثل:

     remoteObjRef->invoke("methodname", args); // send("methodname", args)

لم كوربا دي الاحتجاج قبل أربع سنوات ويعمل مع تاو العميل&تاو/Jacorb/أيونا كوربا الخدمة.

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