Parsi Coders

نسخه‌ی کامل: محدود کردن سرعت دانلود
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
صفحات: 1 2
درود عزیزان

کسی میدونه چطوری میتونم سرعت دانلود از اینترنت رو روی کلاینت ها کنترل کنم؟ البته با c#!
rose
درود
بفرمایید:
این سورس بهت کمک میکنه
[attachment=234]
امین فکر کنم می خواد سرعت اینترنت رو کنترل کنه واسه برنامه مدیریت کافی نت ! دانلودر نمی خواد بنویسه !!!
(06-21-2012، 12:24 PM)Amin_Mansouri نوشته: [ -> ]درود
بفرمایید:
این سورس بهت کمک میکنه
درود امین جان
همین طور که دوست عزیزمون آرمین فرمودند من دقیقا می خوام سرعت اینترنتم رو کنترل کنم (محدود کردن پهنای باند).
ببخشید اگه واضح توضیح ندادم. rose
درود
خواهش میکنم دوست عزیز
اون دانلودر Rate دانلود رو میداد تو زمینه کنترل کردن پهنا باند بهت کمک میکنه
سورس زیر هم بهت کمک میکنه:
کد:
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
                                }
                            }
                        }
(06-22-2012، 04:49 PM)Amin_Mansouri نوشته: [ -> ]درود
خواهش میکنم دوست عزیز
اون دانلودر Rate دانلود رو میداد تو زمینه کنترل کردن پهنا باند بهت کمک میکنه
درود دوست گلم خیلی خیلی ممنونتم.
سلام ببخشید چرا این کد خطا میده ، چه چیزایی باید using بشه؟
لطفا راهنماییم کنید خیلی به این کد نیاز دارم.
ارور رو بنویسید تا بتونیم راهنمایی کنیم دوست عزیز
مرسی از پاسختون:
ببینید من میخوام از هر راهی پهنای باند ( دانلود )سیستم رو محدود کنم باید چیکار کنم؟
خیلی تو سایت های خارجی گشتم متوجه نشدم.

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

کد:
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
}
}
}

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

و کنترل کامل داشته باشی برو سراغ نرم افزارهای اکانتینگ

اما یه کم باید وقت بزاری

یه کم نه زیاد

در کل چیزهای که به دردت میخوره:

Basically you wold need to write a ......., route all traffic through the ......., track and calculate each client bandwidth, and start to delay clients that request too much. Unless you have a good reason to write your own, there are ready-made solutions, i.e. Squid (http://serverfault.com/questions/79824/limiting-bandwidth-dynamically-in-squid).



http://www.howtoforge.com/squid-delay-po...management



اینم یک سورس بیار عالی در این زمینه (با دلفی نوشته شده)


download

این سورس هم به کارت میاد :

http://sourceforge.net/projects/free-sa/...urce=files

بدرود
صفحات: 1 2