PDA

View Full Version : گفتگو: کنترل حجم ارسال داده در هر ثانیه برای دانلود



raravaice
چهارشنبه 22 خرداد 1387, 12:33 عصر
سلام

صفحه ای تعبیه شده برای دانلود فایل که به صورت BinaryWrite و با ContentType مشخص فایل رو ارسال میکنه.

هدف اینه که:
من برای دانلود فایل پهنای باند مصرفی رو کنترل کنم . مثلا یه فایل 50MB تا 10MB اول با 13KB در ثانیه ارسال بشه و از اون به بعد با 2KB در ثانیه.

راه حلی که براش در نظر گرفتم اینه که :
Stream فایل رو میزارم توی یه حلقه و بر اساس یه بافر مشخص Flush میکنم و همینطور یه thread.sleep براش در نظر گرفته شده که ایجاد وقفه کنه تا به اون حجم ارسال مورد نظر برسم.

مسئله مبهم اینکه : راه حل دیگه ای برای این نوع عملیات در دات نت در نظر گرفته شده یا روش مورد استفاده من روش معقولی هست؟

با تشکر

Behrouz_Rad
چهارشنبه 22 خرداد 1387, 16:26 عصر
منظورت از این کار رو متوجه نشدم. چرا میخوای در نظام طبیعت اختلال ایجاد کنی؟ ;)

raravaice
چهارشنبه 22 خرداد 1387, 16:45 عصر
:قهقهه:

فرض رو بر این بگیر سایتی قرار هست که بشه یه جایی برای دانلود فایل نمونه عمومی اون همین Rapidshare معروف.

حالا من میخوام یه سری کاربر ها که برام اولویت بیشتری دارن بتونن فایل رو با سرعت بیشتری دانلود کنن و بقیه با سرعت کمتر و همینطور بتونم با این محاسبه که چند نفر در حال دانلود هستند و چه پهنای باندی دارن مصرف میکنن مصرف ماهیانه پهنای باند رو تا حدی در اختیار داشته باشم.

البته چیزی که تو مغزم میگزره در اصل یه مرکز دانلود نیست ("ادامه همون قضیه آپلود هست") جزئیات زیاد داره ولی کلیاتش رو بالا گفتم. حالا میخوام بدونم طرحی که طبق صحبت قبل پیاده سازی شده برای اینکار بهینه هست یا نه.

موفق باشید

Behrouz_Rad
پنج شنبه 23 خرداد 1387, 07:19 صبح
پهنای باند که فقط از طریق محاسبه ی میزان دانلود یا آپلود به دست نمیاد! حتی تا حدی! شما یک فوت هم به سایتت بکنی واسش پهنای باند حساب میشه!
اینترنت در ایران که ماشاا... نفتی هست، شما هم می خوای محدودترش کنی؟!!! مردم رو اذیت نکن کار درستی نیست ;)
روشی که پیاده سازی می کنی خوبه. فقط حواست به Thread برنامه باشه. ببین برنامه مثل کَنه به حافظه می چسبه یا نه.

موفق باشید.