هل هناك خدمة Websockets مفتوحة المصدر (JavaScript) مكتبة XMPP؟ [مغلق

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

  •  13-09-2019
  •  | 
  •  

سؤال

هل كتب أي شخص مكتبة XMPP مفتوحة المصدر التي تستخدم برنامج تشغيل Websockets والمقصود أن يتم تشغيله بواسطة متصفح؟

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

المحلول

ليس لدينا معيار حتى الآن ل XMPP WebSockets. أن الخوادم يمكن أن تنفذ، والتي ستكون مطلوبة قبل معالجة جانب العميل بشكل كاف.

الخطوة الأولى هي الانتهاء من توحيد ويب. يبدو أن هذا قد يحدث في مجموعة عمل IETF Hybi، والتي لم تتم الموافقة عليها في وقت الكتابة من قبل IESG. كان هناك طيور هيبي من الريشة (BOF) في اجتماع هيروشيما IETF قبل أسبوعين (انظر مواد اجتماعات)، الذي ذهب جيدا.

بعد برامج Websockets مرجع مستقر، ويبدو أنه يستقر، XSF. سوف تنشئ أ XEP. أن يرتبط XMPP إلى أجهزة الإنترنت، من المفترض مع Stanza لكل إطار Websocket.

تحرير: كتب جاك موفيت IETF دخول الإنترنت مع أول تمرير في البروتوكول الذي يمكن استخدامه. تحذير. وبعد هذا لا يزال من المحتمل أن يتغير بشكل كبير. قم فقط بتنفيذه إذا كنت على استعداد لفزعه في وقت لاحق تماما. تحذير.

نصائح أخرى

هناك حلول متعددة (لا يوجد أي منها مثالية)

1. استخدام kaazing.

هم بالفعل يدعمونها. إنه مصدر مفتوح، لكن لديهم نوع من الترخيص المزدوج, ، من الأفضل التحقق مما إذا كان يمكنك استخدام مشروعك أم لا.

2. جمع بين JS.IO و Ape (محرك دفع AJAX)

ape هو إطار المذنب، لكنهم بدأوا مؤخرا دعم أجهزة الإنترنت. في موقعهم على شبكة الإنترنت ("قرد كوكيل")، يقولون إنه يمكن تشغيل مكتبات JS.IO التي تتضمن XMPP.JS، لذلك قد يجمع بينها.

3. استخدام caucho.

إنه إطار جافا مقرا له على غرار القرعة التي توفر حل مذنب متجر واحد، ويبدو أنها تدعم كل من XMPP و Websockets

4. اسأل فريق ستروف لدعم Websocket.

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

يبدو جاك موفيت (المطور الأساسي ومؤلف الكتاب المذكور أعلاه) مهتما برامج Websockets، لكننا نحتاج إلى توفير التفكير أكثر قوة حول سبب حاجتهم لدعم Websocket على بوش. إذا كان لديك إجابات جيدة، يرجى الانضمام إلى فقي.

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

ل # 2 و # 3، يقولون إن كلاهما يدعم XMPP و Webscookets، ولكن غير متأكد من أنهم يعملون معا.

أي نوع من التطبيق الذي تفكر فيه باستخدام XMPP & Websockets ل؟

فيما يلي اقتراحات للبدائل.

  • إذا كنت تريد وجود أو دردشة أو وظيفة مكافئة غرفة الدردشة، فيمكنك جعل أداة موجة أو روبوت، ثم تعرضها للخارج باستخدام موجة تضمين API.(رابط ميت، أبقى لأغراض تاريخية). تم بناء الموجة بالفعل على رأس XMPP.
  • إذا كنت تبحث ببساطة عن إمكانية مراسلة الزمن منخفضة للغاية، فيمكنك ذلك حاول amqp..
  • إذا كنت تبحث عن تدفق الرسائل أكثر بساطة، فيمكنك فقط أنابيب في / خارج ملف يونيكس كما أظهرت هنا.

حصلت على معظم المعلومات أعلاه عندما كتبت هذه المدونة post.. وبعد إذا قمت بالتحقق من وقت قسم التعليق إلى وقت، فسوف نشر التحديث بمجرد أن أجد حلولا أخرى.

هناك كتاب قريبا يغطي هذا الموضوع ...

XMPP المهنية مع جافا سكريبت وجقد النص البديل http://ecx.images-amazon.com/images/i/51b7vahw8ol._sl500_aa240_.jpg.

لكنني أفترض أنك لا تريد انتظار الكتاب. لذا شاهد عرض جاك موفيت من JSConf. وبعد شاهدته هذا الصباح. (جاك موفيت هو مؤلف الكتاب المرتبط أعلاه.)

المكتبة المعنية (JavaScript و C التنفيذات) هي السبت.

هذا مجال مثير جدا من الاستكشاف، ولكن الخام جدا. سنرى قريبا. Websockets تأتي مع HTML5، هل هذا صحيح؟

JSJAC. تنفذ XMPP عبر أجهزة الإنترنت. وبعد من المعروف أن العمل مع العديد من التطبيقات الخلفية:

  • Node-XMPP-Bosh - يدعم RFC6455 ويعمل مع عدم وجود مشاكل منذ 0.6.1، كما يستخدم بشفافية starttls إذا لزم الأمر
  • WXG - يدعم RFC6455 ويعمل دون أي مشاكل، ولكن لا يمكن الاتصال بخوادم تتطلب StartTLS (يحتوي WXG الأصلي على بعض المشكلات، التي تم إصلاحها بواسطة Gordin).
  • EJABBERD-WebSockocket - لا يدعم RFC6455 وبالتالي فإنه لا يعمل، تكييفه لدعم RFC6455 يجب أن يكون من السهل جدا أن يكون أي شخص يعرف erlang (يمكن العثور على بعض العمل في التقدم على Github)
  • Openfire - البرنامج المساعد غير الرسمي متاح، لكنه يفتقر إلى الدعم ل RFC6455 وبالتالي فإنه لا يعمل
  • Vysper Apache - لا يدعم RFC6455 وبالتالي لا يعمل
  • Tigase - لا عمل معروف على دعم WebSocket
  • Mongooseim - شوكة من Ejabberd مع دعم XMPP عبر أجهزة الإنترنت.

لست متأكدا من JS على جانب المتصفح يمكنه التعامل مع بروتوكول WebSocket وحده كما يعتمد في الغالب على API للمتصفح. عدد قليل من دعم المتصفح Websocket بعد: Chrome، Safari5، ربما Firefox4. هناك العديد من الحلول بناء على Flash / AS3 (ثم يتصل JS الخاص بك مع رمز فلاش) هو القيد الرئيسي هو أن الفلاش لا يدعم الاتصال الآمن (سيئا للغاية).

BWT، يمكنك التحقق هذا websocket intem. أنها توفر Lib Opensource Java Websocket Client Lib ويبدو أنها تتعامل مع أشياء XMPP وإذا كنت تصفح المستودعات، فقد تجد تطبيق WebSocket Basic AS3.

لست متأكدا من السبب في أن تسأل على وجه التحديد محلول WebSocket لأن خوادم XMPP سيتعين عليها دعم هذا أولا.

ومع ذلك، هناك العديد من مكتبات JavaScript XMPP المتاحة (بقدر ما أراها جميعا استخدام طريقة بوش):

تم أخذ هذه الأمثلة من موقع XMPP الذي يسرد تطبيقات مفتوحة المصدر لبروتوكول XMPP.

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