Parsi Coders

نسخه‌ی کامل: محدود کردن سرعت دانلود
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
صفحات: 1 2
(08-24-2012، 11:51 PM)samadblaj نوشته: [ -> ]سپاسگزارم از پاسختون:
ببینید من میخوام از هر راهی پهنای باند ( دانلود )سیستم رو محدود کنم باید چیکار کنم؟
خیلی تو سایت های خارجی گشتم متوجه نشدم.

این کد هم کامل نیست خیلی خطا میده؟

کد:
Bandwidth throttling in C# windows application
//Apply bandwidth control
int uploadLimit = GlobalClass.GetFileUploadLimit();
if (uploadLimit > 0)
{
long bps = uploadLimit * 1024;
const int BufferSize = 8192;
MemoryStream mstream = new MemoryStream();//Stream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read, BufferSize);
// Openup source stream.
using (FileStream sourceStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read, BufferSize))
{
// Create throttled destination stream.
ThrottledStream destinationStream = new ThrottledStream(mstream, bps);
byte[] buffer = new byte[BufferSize];
int readCount = sourceStream.Read(buffer, 0, BufferSize);
while (readCount > 0)
{
destinationStream.Write(buffer, 0, readCount);
readCount = sourceStream.Read(buffer, 0, BufferSize);
client.FileUpload(Convert.ToInt16(userId), System.IO.Path.GetFileName(fileName), buffer);//Webservice: Here is the problem
}
}
}


فایل پیوستی سرعت رو برای دانلود خود برنامه محدود میکنه یا کل سیستم؟
فایل پیوستی دانلود نمیشه با چند تا ابزار دیگه هم امتحان کردم نشد... لطفا اگه میشه روی یک سرور دیگه آپلود کنید.


You can use ThrottledStream in WinForms/WPF application


این سورس هم به زبان سی شارپ هت که کمکت میکنه :-)

[attachment=306]
نه عزیز اینم دانلود کردم این سورسش برای وب هست ... .
و گر نه همین کار رو میخواستم انجام بدم.

ممنونم از راهنماییتون خیلی زحمت کشیدی.
دلفی آشنایی دارم ببینم میتونم بنویسمش.
دلفی مینی هم وجود داره؟
درود

اره دلفی مینی هم هست.

همون 7 کاملشو دانلود کن
نه هیچ کدوم از لینک ها این کار رو برام نکرد.
نمیدونم چرا به نتیجه درستی نمیرسم این همه زبان برنامه نویسی.
یعنی یه سورس برای کنترل پهنای باند وجود نداره!!!!!!!!!!!!
یکی از بچه های اینجا نوشته

با دلفی

سورس کامل و اماده فکر نکنم نباشه

ولی یکی از دوستان با دلفی نوشتن

البته این برنامه های که پهنا باند رو کنترل میکنن

بگرد یکیشون پیدا کن از توابع درایورشون یا dll استفاده کن
خیلی از مکتون ممنونم اگه لطفا فایلی ، پروژه ، کتابخانه پیدا کردید برام بزارید. توی انجمن سرچ کردم اما چیزی پیدا نشد.
توی سایت خارجی Codeproject.com هم سوالم رو مطرح کردم که در جواب به این نتیجه که شما هم اشاره کردید رسیدم:
برای برنامه ی خودتون میخواین این کارو انجام بدبد یا برای همه برنامه ؟
و
برای همه نمیتونید این کار رو با سی شارپ انجام بدید
برای این کار دو راه
دارید
1 - قرار دادن فایروال بین سرور و کلاینت که میتونید پهنای باند رو کنترل
کنید
2- نوشتن یک درایور برای شبکتون که همون کار همون فایرواله رو انجام میده
که با سی شارپ نمیتونید این کارو انجام بدید و نیاز به برنامه نویسی در سطح kernel
دارید و با C یا C++ میتونید این کارو انجام بدید
صفحات: 1 2