سؤال

لدي برنامج لجهاز الكمبيوتر تلقي البيانات من 20 صناديق الأجهزة المخصصة عبر UDP. يرسل كل من هذه الصناديق باستمرار رسائل UDP إلى مقبس UDP واحد على جهاز الكمبيوتر. تحتوي جميع الرسائل على 10 - 150 بايت من البيانات، وترسل كل وحدة حوالي 20 رسالة في 12 ثانية.

يبين الاختبار أن بعض الرسائل تفوتها الكمبيوتر. عدد أقل من الصناديق على الشبكة نتائج أقل من الرسائل الفائتة.

الحل طويل الأجل هو البيانات العازلة في الأجهزة، واسمحوا جهاز الكمبيوتر باسترداد البيانات كما هو مطلوب عبر TCP، ولكن أحتاج إلى حل / تقليل مشكلة الرسائل المفقودة على المدى القصير حتى يمكن نشر هذا الحل. الأفكار تشمل: - ترقية الكمبيوتر - تصفية الرسائل غير الضرورية قبل النقل - الجمع بين رسائل UDP منفصلة في الجهاز في واحدة أكبر - باستخدام مآخذ مآخذ متعددة في الكمبيوتر لتلقي الرسائل

أبحث عن ملاحظات حول هذه الأفكار، بالإضافة إلى أي قد غاب عنها.

برنامج الاستقبال هو برنامج Builder C ++ يعمل Indy9.

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

المحلول 3

بفضل اللاعبين الآخرين للحصول على اقتراحات، ولكن لأي شخص يشير إلى الوراء، كان الحل هنا يستبدل الكمبيوتر القديم الذي تم استخدامه (1.6 جيجا هرتز سيليرون مع ذاكرة الوصول العشوائي 512 ميغابايت) باستخدام آلة المواصفات الصحيحة (المعالج 2 جيجاهرتز كور 2 مع ذاكرة الوصول العشوائي 2GB).

نصائح أخرى

انخفض الرسائل في UDP لها علاقة مع الازدحام الصافي على شبكتك. لا علاقة له إذا كنت تستخدم مقابس 1 أو 5 لتلقي الحزم.

أيضا، إذا كان لديك فقط 20 صندوقا، أرسل 20 رسالة في 12 ثانية. هذا يعني فقط 33 رسالة في الثانية الواحدة. هذا هو الفول السوداني حقا ... للشبكة، وكذلك المعالج.

لذلك، يتم إسقاط الحزم السبب الوحيد هو أن هناك الكثير من تحميل الشبكة الأخرى يحدث. تتمتع بطاقات الشبكة والأجهزة الموجهات إلى تفضيل حزم TCP-IP أعلى UDP.

إذا لم يكن هناك تحميل شبكة مفرط يحدث، فلا يجب إسقاط حزم UDP.

المشكلة الأكثر احتمالا هي على الشبكة.

لقد قلت بالفعل الشبكة هي الشبكة المحلية الخاصة، والتي تزيل إحدى الاقتراحات الخاصة بي، والآخر هو التأكد من أن الشبكة تحولت - يمكن أن يفقد المحور بسهولة الحزم.

إذا لم يساعد ذلك، فيمكنك تجربة زيادة حجم المخزن المؤقت تلقي على جهاز الكمبيوتر.http://www.developerweb.net/forum/showthread.php؟t=5773.

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