سؤال

لذا فإن معيار XML-RPC الرسمي لا يدعم قيم 64 بت.ولكن في هذه الأوقات الحديثة، أصبحت قيم 64 بت شائعة بشكل متزايد.

كيف تتعامل مع هذه؟ما هي امتدادات XML-RPC الأكثر شيوعًا؟ما هي روابط اللغة الموجودة؟أنا مهتم بشكل خاص بـ Python وC++، ولكن جميع المعلومات محل تقدير.

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

المحلول

تدعم بعض المكتبات امتدادات 64 بت بالفعل، ولكن لا يبدو أن هناك معيارًا لها. xmlrpc-c, ، على سبيل المثال، لديه ما يسمى i8 ولكنه لا يعمل مع بايثون (على الأقل ليس بشكل افتراضي).

أود أن أوصي إما:

  • تحويل العدد الصحيح إلى سلسلة باليد وإرساله على هذا النحو.سيقوم XMLRPC بتحويله إلى سلسلة على أي حال، لذلك أود أن أقول إن هذا أمر معقول.
  • قم بتقسيمه إلى عددين صحيحين 32 بت وأرسله على هذا النحو.

نصائح أخرى

أصبح استخدام "i8" كنوع بيانات أكثر شيوعًا.لقد أضفت هذا مؤخرًا إلى وحدة Perl XML-RPC الخاصة بي (http://metacpan.org/pod/RPC::XML) استجابة لطلب مجموعة كبيرة كانت بحاجة إليه للعمل مع خادم مكتوب بلغة Java.لا أعرف ما هي مجموعة الأدوات التي استخدمها الخادم، لكنه كان يقبل بالفعل i8 كنوع.

هناك شيء واحد أشعر أنه لا يزال يتعين معالجته، وهو ما إذا كان الاسم المستعار "int" لـ "i4" يجب أن يقبل أيضًا i8، كما هو الحال حاليًا مع i4.أو، في هذا الصدد، إذا كانت المعلمة المكتوبة كـ i8 يجب أن تقبل بهدوء الإدخال المكتوب كـ i4.يتمتع XML-RPC بإمكانيات كبيرة باعتباره بروتوكولًا خفيف الوزن ومنخفض الحمل مفيد عندما لا تحتاج إلى كل تغطية SOAP، ولكن غالبًا ما يتم التغاضي عنه في الحروب الدينية بين REST وSOAP.

يحتاج XML-RPC إلى بعض التحديث والمراجعة، إذا تمكنا من الحصول على موافقة المؤلف الأصلي لذلك...

لا أعرف أي شيء عن كيفية تمديد XMLRPC ولكني وجدته هذا البريد حول الموضوع:

في XML -RPC ، يتم نقل كل شيء كسلسلة ، لذلك لا أعتقد أن هذا الاختيار سيء حقًا - باستثناء بالطبع لخرقاء إضافية لاستدعاء وظائف التحويل الصريحة.

ولكن لا ، لا يحتوي XML-RPC على نوع بيانات يمكن أن يمثل الأعداد الصحيحة أعلى 2 ** 32.إذا كان بإمكانك قبول دقة فقدان الدقة ، فيمكنك استخدام الزوجي (ولكن لا يزال يتعين عليك التحويل بشكل صريح على المرسل).

XML-RPC.NET لقد دعم <i8> منذ الإصدار 2.5.0 (5 سبتمبر 2010).

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