برنامج JACK XMPP Daemon لإرسال واستقبال الرسائل

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

  •  29-10-2019
  •  | 
  •  

سؤال

لقد كتبت عفريت JAXL في PHP (Debian 6.0) والذي يجلس ويستمع إلى الرسائل الواردة ثم يعالج الرسالة الواردة عن طريق تمرير الحمولة إلى واجهة برمجة التطبيقات.(يستمع للرسائل الواردة على user1 @ server)

المشكلة التي أواجهها هي إعادة إرسال رسالة إلى المستخدم.الطريقة التي قمت بها الآن هي أن أبدأ برنامج XMPP الخفي آخر ، وأرسل الرسالة ، ثم أغلق البرنامج الخفي.تكمن المشكلة في ذلك في أنه يبدأ برنامج خفي آخر مع خادم JID user1 @ لإرساله إلى خادم user2 @.عندما أغلق JAXL ، فإنه يغلق أيضًا البرنامج الخفي "الاستماع".

فكرت في بدء برنامج الاستماع الخفي مرة أخرى عندما أرسل الرسالة ولكن هذا يستغرق وقتًا طويلاً للبدء (1-2 ثانية) ولا يستطيع تطبيقي تحمل وقت الانتظار هذا حقًا.

هل لدى أي شخص أي أفكار حول كيفية حل هذه المشكلة ، ربما باستخدام برنامج الاستماع الخفي لإرسال الرسائل أيضًا؟

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

المحلول 2

فقط لأي شخص مهتم بهذا ، انتهى بي الأمر بتحرير JAXL للاستماع على مقبس UDP أثناء تشغيل البرنامج الخفي ، وإذا تم تلقي البيانات على مقبس UDP هذا ، فسيستخدم $ jaxl-> sendMessage (...) وإرسال رسالة.ثم كتبت بعد ذلك وظيفة بسيطة ترسل البيانات إلى مقبس UDP هذا كلما أردت إرسال رسالة.

نصائح أخرى

لطيف جدا أن نسمع هذا التقدم.على الرغم من أنه من رمز المثال الخاص بك $jaxl->sendMessage() يبدو أنك تستخدم Jaxl v2.x.أود أن أوصي بجدية بالترقية إلى Jaxl v3.x إذا لم يكن لديك أي اعتماد صلب مشفرةعلى v2.x.

يمكنك متابعة هذا الموضوع Google Group إرسال رسالة عبر اتصال نشط موجود إذا كنت تفكر في استخدام V3.x التي لديها الآن طريقة رسمية لإرسال حمولة XMPP من خلال التواصل مع DAEMON XMPP قيد التشغيل في الخلفية (IPC).يمكنك حتى التحكم عن بعد في Deemons XMPP الخاص بك وأكثر من ذلك بكثير مع v3.x.

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