معلومات الشبكة

غالبًا ما يتطلب التطبيق حالة محددة أو سياق محدد للشبكة للتشغيل سواء كان متصلاً بـ IP محدد أم لا، وهو ما لا يضمن إلا استخدام تكوين مناسب أو أن الجهاز متصل بالإنترنت بأي حال من الأحوال. في حين أنه ليس بإمكان AppFramework التحكم في بعض منها على مستوى النظام، فإنه لا يوفر مكونات للوصول إليها للإبلاغ عمَّا يفعله التطبيق.

عمليات التكويد التي يوفرها النظام

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

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

Column {
    anchors {
        left: parent.left
        right: parent.right
        bottom: parent.bottom
        margins: 20 * AppFramework.displayScaleFactor
    }
    spacing: 5
    Item {
        height: 20
        width: parent.width
    }
    Button {
        anchors.horizontalCenter: parent.horizontalCenter
        text: "Sign In"
        onClicked: {
            if (AppFramework.network.isOnline) {
                messageDialogOnline.open();
            } else {
                messageDialogOffline.open();
            }
        }
    MessageDialog {
        id: messageDialogOnline
        title: "Network Connection"
        text: "This device is currently online."
    }
    MessageDialog {
        id: messageDialogOffline
        title: "Network Error"
        text: "Please connect to a network to get started."
    }
    }
}

عناوين الشبكة

يُخزن مكون NetworkAddress عنوان IP شبكة مفرد. وبالإضافة إلى استخدامه بجانب مكونات أخرى لتنفيذ إجراءات، مثل الاتصال بمضيف وإعداد خادم، فإنه يوفر خصائص لتحديد ما إذا كان لدى العنوان غرض خاص، مثل الاسترجاع أو الإرسال المتعدد.

الاسترجاع هو أحد النطاقات المحددة لعناوين IP المستخدم لإرسال إشارات صادرة إلى نفس الكمبيوتر، وعادةً ما يلزم لأغراض الاختبار. في أجهزة IPv4، يعمل نطاق 127.0.0.0 إلى 127.255.255.255 كعناوين للاسترجاع، مع أكثر العناوين النموذجية المستخدمة 127.0.0.1 والتي تستخدم المضيف المحلي للاسم. في IPv6، عادةً ما يتم تبسيط العنوان المحفوظ لعمليات الاسترجاع إلى ::1؛ وذلك نظرًا لأن العنوان الكامل طويل للغاية. ستقوم خاصية NetworkAddress isLoopback المنطقية بإرجاع "صواب" إذا كان العنوان المخزن بواسطة الكائن هو عنوان استرجاع.

عناوين الإرسال المتعدد هي نطاق عريض من العناوين المحفوظة لاتصال الإرسال المتعدد، حيث يتم توجيه المعلومات إلى مجموعة من أجهزة الكمبيوتر الوجهة. في التطبيقات المنشأة بواسطة AppFramework، يُعد الاستخدام الأشهر للإرسال المتعدد هو بروتوكول مخطط بيانات المستخدم (UDP)، وهو بروتوكل إرسال يمنح الأولوية للسرعة على حساب الوثوقية، إلا أنه لديه استخدامات عديدة أخرى. في أجهزة IPv4، يكون نطاق عناوين الإرسال المتعدد من 224.0.0.0 إلى 239.255.255.255، في حين أن عناوين IPv6 للإرسال المتعدد تستخدم prefix ff00::/8. ومع ذلك، يوجد لدى كلا هذين البروتوكلين أقسام من هذه النطاقات المحفوظة لاستخدامات أكثر تحديدًا للإرسال المتعدد. ستقوم خاصية NetworkAddress isMulticast المنطقية بإرجاع "صواب" إذا كان العنوان المخزن بواسطة الكائن هو أي نوع من عنوان الإرسال المتعدد.

يحتوي NetworkAddress أيضًا على خاصية isNull لتعريف العناوين الخالية التي تعد غير صالحة لأي مضيف أو واجهة، وكذلك طريقة isInSubnet لتحديد ما إذا كان عنوان IP المخزن هو شبكة فرعية محددة. يمكن استخدام هذه الوظائف لضمان أنه سيتم اجيتاز عناوين IP التي تعد صالحة لاحتياجات التطبيق.