و یا یک راه حل دیگه اینه که در بخش Hotspot User Profiles به داخل پروفایل یورز های خودمون بریم و اونجا دو اسکریپت برای لحظه ورود و خروج کاربران بنویسیم .
برای کاربران غیر PC در بخش On login اسکریپتی شبیه اسکریپت زیر می نویسیم :
کد:
/queue simple set LanBandWidth max-limit=1021k/9215k ;
که با ورود کاربران به هات اسپات یک محدودیت مکس لیمیت برای کاربران PC اعمال بشه
در این اسکریپت LanBandWidth نام Queue است که کاربر آن از IDM استفاده میکنه اگه چندتا کامپیوتر داریم و چند Queue مخصوص آنها ساخته ایم در خط های متوالی محدودیت دانلود برای Queue ها اعمال میکنیم مثلا به حالت زیر :
کد:
/queue simple set PC1 max-limit=1021k/9215k ;
/queue simple set PC2 max-limit=1021k/9215k ;
/queue simple set PC3 max-limit=1021k/9215k ;
به این صورت برای تمام دستگاه هایی که کاربران IDM دارند محدودیت حداکثر دانلود اعمال میکنیم .
مثلا اگر خط اینترنت ما سرعت 16Mbps دانلود و 2Mbps آپلود دارد، میتوان با اعمال مکس لیمیت به صورت 1021k/9215k نیمی از پهنای باند را به عنوان حداکثر مجاز به دستگاه PC با کاربر دانلود منیجر اختصاص داد. و مابقی خط را برای کاربر و یا کاربران جدید غیر دانلودمنیجر مثل تلویزیون ؛ موبایل ؛ تبلت و غیره باز کرد.
و سپس در همین قسمت Hotspot User Profiles و در پروفایل کاربران غیر دانلود منیجر و بخش On Logout یک اسکریبت می نویسیم که بررسی کند ببیند کاربران فعال جاری آیا بیشتر از یک کاربر است و یا خیر .
کاربری که لاگ اوت کرده دیگه جزو کاربران فعال حساب نمیشه و در لحظه خروج بررسی میشه اگه تعداد کاربران فعال فقط یکی باشه اون وقت دوباره پهنای باند رو به حالت حداکثر و نامحدود در بیاره.
کد:
:global ActiveState [/ip hotspot active print count-only] ;
:if ($ActiveState<2) do={[/queue simple set LanBandWidth max-limit=0/0]} ;
همانطور که مشاهده میکنید در خط ابتدایی این اسکریپت متغییر ActiveState با تعداد کاربران فعال مقدار دهی می شود و این مقدار شامل کاربری که در همین لحظه خارج شده و در اثر خروج او این اسکریپت اجرا شده نمی شود.
سپس در خط بعدی با شرط :if بررسی میشود که اگر کاربران از دو کمتر بودن (یعنی یک یا صفر) آنگاه queue کاربر یا کاربران PC را که از دانلود منیجر استفاده میکنند دوباره بطور کامل بازکرده و خط را بطور حداکثر در اختیار کاربر باقی مانده قرار دهد.
همچنین میتواند به همین صورت چندین queue را مقدار مکس لیمت آنها را حذف کرد و به حالت نامحدود در آورد:
کد:
:global ActiveState [/ip hotspot active print count-only] ;
:if ($ActiveState<2) do={[/queue simple set PC1 max-limit=0/0]} ;
:if ($ActiveState<2) do={[/queue simple set PC2 max-limit=0/0]} ;
:if ($ActiveState<2) do={[/queue simple set PC3 max-limit=0/0]} ;
خوبی این روش نسبت به روش قبلی برای اسکریپت نویسی این است که دیگر پردازنده دستگاه دائم مشغول اجرای اسکریپت ها نخواهد بود و آزاد باقی می ماند و تنها یک بار زمانی که کاربران ساده بدون استفاده از دانلود منیجر به سیستم وارد میشوند و یا خارج می شوند این اسکریپت ها اجرا میگردد .
بنظرم نیازی نیست برای پروفایل کاربری دستگاه های کامپیوتر اسکریپت نوشته شود زیرا به هرحال اگه پهنای باند همه آنها نیز باز باشد از پس همدیگر بر میایند و یا میتواند فقط برای لاگ اوت آنها اسکریپت بالا را نوشت .
زیرا ممکن است در زمانی که دو کامپیوتر فعال هستند کاربر موبایل لاگین شود و پهنای باند را کاهش دهد و سپس در هنگام خروج زیرا بیشتر از یک دستگاه فعال در شبکه باقی میماند مجدد پهنای باند را نامحدود نمی کند و این عملیات با خروج دیگر دستگاه نیز بهتر است بررسی شود تا اگر یک کاربر PC خارج شد و باز یک کاربر باقی ماند مجدد پهنای باند به حالت حداکثر برای او در بیاید.