كيف يمكنني التحكم في سرعة المرور (المرسلة بايت) في Java (JPCAP)

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

  •  13-09-2020
  •  | 
  •  

سؤال

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

يمكن لمستخدم التطبيق إدخال السرعة المرغوبة التي يريد إنشاءها (على سبيل المثال 10 mib / s).أنا أفعل هذا التحكم في بعض طريقة Crappy حقا.قمت بإجراء حزمة UDP / TCP في Java التي تحتوي على بايت محددة (على سبيل المثال 8192 بايت).مع العلم أن هذا قمت بإجراء مؤشر ترابط آخر وآخر ثانية ويحتفظ في التحقق إذا كان قد وصل بالفعل إلى حد كبير (بالثواني أو الحجم) ويبقى المررين حتى يتم الوصول إليه.تشرح الخوارزمية التالية فكرتي Crappy.

giveacodicetagpre.

أنا فكر أن هذا النهج ضعيف جدا، هل هناك طريقة أفضل للسيطرة على هذا ؟؟؟

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

المحلول

أعمل كم عدد حزم 8192 بايت يمكنك إرسالها في الثانية الواحدة داخل النطاق الترددي القابل للتحقيق.أرسل أن العديد من الحزم (ن)، وبعد كل واحد ينام مقابل 1000 / n milliseconds.سيكون لديك لضبطها لحساب الوقت في الواقع في إرسال الفكرة، ولكن تحصل على الفكرة العامة.

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