سؤال

وأنا الغريب أن تعرف كيف تفكر والاتصال عن بعد في العمل صافي داخليا. وأود أيضا أن نسمع أن صافي يمكن استخدام الاتصال عن بعد للتواصل مع التطبيقات المكتوبة بلغات أخرى (مثل جافا). كيف يمكن أن تعمل؟

وربما هذا هو سؤال كبير جدا جوابا التي تلامس لفترة وجيزة على كل سؤال معقولة.

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

المحلول

وأعمال الاتصال عن بعد عن طريق اعتراض المكالمات لبعض الكائنات (MarshalByRefObject)، وعن طريق إجراء مكالمة RPC بدلا من ذلك؛ أساسا الكائن في المتصل هو مجرد وكيل خفيفة الوزن إلى <م> حقيقية الكائن في منشؤها AppDomain / آلة / الخ. يتم نقل الحجج والنتائج (مرة أخرى، مع الأخذ بعين الاعتبار MarshalByRefObject - على خلاف ذلك باستخدام BinaryFormatter تسلسل القيم).

وبنيت التأمل في عمق وقت التشغيل الأساسية، ويوفر الوصول إلى تعريفات نوع الأساسية. هذا هو ربما يعود ذلك جزئيا إلى IL تحت اللغات NET هو معبرة جدا من حيث رمز الأصلي.

ولكن، أنا لست على علم شخصيا بأي شكل من الأشكال التحدث عبر الاتصال عن بعد لجافا. قد يكون من الممكن، ولكن الأشكال المستخدمة هي (AFAIK) الملكية. بشكل عام، من المرجح أن تأخذ شكل SOA يدعو، مثل خدمات الويب (على SOAP أو POX)، أو غيرها من المعايير المفتوحة مثل الرسائل تسلسل مع JSON أو "مخازن البروتوكول" مثل هذه الدعوات (شكل سلك مفتوح المصدر مع المتغيرات لكل من C # وجافا).

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