تسليم الرسالة عندما يكون المستخدم غير متصل بالإنترنت

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

  •  05-07-2019
  •  | 
  •  

سؤال

لدي مكون إضافي لبرنامج OpenFire يقوم بإنشاء رسالة وتسليمها إلى المستخدم باستخدامها

XMPPServer.getInstance().getMessageRouter().route(message)

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

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

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

المحلول

يعود الأمر كله إلى تكوين Openfire.في وحدة تحكم مسؤول Openfire، انتقل إلى الخادم -> إعدادات الخادم -> الرسائل غير المتصلة.هناك خيارات للتخزين والارتداد والإسقاط.

  • محل:تسليم الرسالة عندما يعود المستخدم عبر الإنترنت.
  • يسقط:فقط تجاهل الرسالة.
  • وثب، ارتداد:تجاهل وإخطار المرسل برسالة العودة.

نصائح أخرى

هناك طريقة أخرى، إذا كنت تريد فقط ألا تصبح هذه الرسائل دون اتصال بالإنترنت دون التأثير على تسليم الرسائل الأخرى، وهي استخدام type='headline'.العناوين الرئيسية ليست محددة بشكل جيد، ولكن RFC 3921bis القسم 5.2.2 يقول:

العنوان الرئيسي - توفر الرسالة تنبيهًا أو إشعارًا أو معلومات أخرى لا يُتوقع الرد عليها (على سبيل المثال، عناوين الأخبار والتحديثات الرياضية وبيانات السوق في الوقت الفعلي تقريبًا والمحتوى المشترك).نظرًا لعدم توقع أي رد على الرسالة، عادةً ما يقدم العميل المتلقي رسالة من النوع "عنوان رئيسي" في واجهة تميز الرسالة بشكل مناسب عن الرسائل المستقلة أو رسائل الدردشة أو رسائل الدردشة الجماعية (على سبيل المثال، من خلال عدم تزويد المستلم بالرسالة القدرة على الرد). يجب أن يقوم الخادم المتلقي بتسليم الرسالة إلى جميع الموارد المتاحة للمستلم.

ستقوم معظم الخوادم الحالية بإسقاط العناوين الرئيسية بصمت للمستخدمين غير المتصلين بالإنترنت، وتسليمها إلى المورد ذي الأولوية الأعلى إذا كان المستخدم متصلاً بالإنترنت.

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