درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من

    تا 75 درصد تخفیف ویژه شب یلدا بر روی کلیه محصولات وب سایت توسینسو فقط تا 30 آذر

    مانده تا پایان تخفیف ها

    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      فرهاد خانلری
      امتیاز: 146456
      رتبه:5
      2
      322
      548
      3272
      فرهاد خانلری ، مدرس شبکه و برنامه نویسی مبتنی بر زیرساخت های مایکروسافت ، سابقه فعالیت در موسسات و مراکز دولتی در قالب پروژه ، مشاوره و تدریس ، برنامه نویسی ++C ، سی شارپ و دات نت ، متخصص و مدرس شبکه های مبتنی بر سیستم عاملهای مایکروسافت و سرویس های مربوطه ، سخت افزار و ... پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 18 قسط خریداری کنید
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 78 قسط خریداری کنید
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      مدرس: کاظم تقندیکی
      این دوره را در 20 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 23 قسط خریداری کنید
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      مدرس: مهدی عادلی فر
      این دوره را در 2 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی ساخت ربات تلگرام
      دوره آموزشی ساخت ربات تلگرام
      مدرس: کاظم تقندیکی
      این دوره را در 8 قسط خریداری کنید
      دوره آموزشی طراحی رابط کاربری با JavaFX
      دوره آموزشی طراحی رابط کاربری با JavaFX
      مدرس: حسام رسولیان
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      مدرس: ایمان جوادی
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی Exploit نویسی به زبان Perl
      دوره آموزشی Exploit نویسی به زبان Perl
      مدرس: ایمان جوادی
      این دوره را در 7 قسط خریداری کنید
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      مدرس: امیر حسین فضلیخانی
      این دوره را در 12 قسط خریداری کنید
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 27 قسط خریداری کنید
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      مدرس: کاظم تقندیکی
      این دوره را در 11 قسط خریداری کنید

      روشن کردن کامپیوتر(سرور)از طریق شبکه با استفاده از سی شارپ

      تاریخ 54 ماه قبل
      نظرات 1
      بازدیدها 1658
      در آموزش قبلی خاموش کردن کامپیوتر های متصل به شبکه (از راه دور) را توضیح دادیم در این آموزش روشن کردن سیستم را توسط برنامه نویسی سی شارپ می آموزیم.فرض کنید یک شبکه Domain داریم در یک روز سرد زمستانی برق میره طبیعتاً سروری که UPS نداشته باشه خاموش میشه .اگر سرور نزدیک باشه مشکلی نیست دوستان میرن و روشنش میکنن اما اگر دور باشه و کسی نخواد توی سرما بره سرور رو روشن کنه باید چیکار کرد؟

      توسط Wake On Lan


      نرم افزارهایی هستن که از قابلیت WakeOnLan در mainboard استفاده میکنند البته این در حالی است که mainboard شما این قابلیت رو support کنه .در مرحله اول باید طبق تصویر زیر تنظیمات رو انجام بدیم
      روشن کردن کامپیوتر(سرور)از طریق شبکه با استفاده از سی شارپ

      روش کار به این صورت هست: packet های ارسالی که در WakeOnLan استفاده می شوند از نوع UDP که مخفف User Datagram Protocol هستند که شامل MAC Address کارت شبکه سیستم مقصد می باشد. Address MAC به صورت استرینگ (String در برنامه نویسی ) در مبنای شانزده هست مثال :

      00-1D-7D-C6-A3-C2

      برای فرستادن نیاز به شش byte می باشد.این packet شش byte جهت header و جهت مشخص شدن نوع آن به شانزده برابر طول اطلاعات نیاز دارد . مجموع اینها 102 بایت می شود. شش byte اول packet مربوط به header آن است که با 0Xff پر می شود.شش byte دوم packet بایستی برابر با MAC آدرس کامپیوتر مقصد شود .
      روشن کردن کامپیوتر(سرور)از طریق شبکه با استفاده از سی شارپ

      این packet که UDP) User Datagram Protocol) می باشد به صورت Broadcast بر روی پورت نه(9) ارسال می شود همانند 200.0.0.255 . این packet توسط تمامی کامپیوتر هایی که در شبکه وجود دارند دریافت می شود .اما کامپیوتری که Mac Address آن با Mac Address ای که در packet نوشته شده است یکی باشد روشن می شود .
      روشن کردن کامپیوتر(سرور)از طریق شبکه با استفاده از سی شارپ


      روشن کردن سیستم توسط برنامه نویسی به زبان سی شارپ


      برای این کار باید قابلیت WakeOnLan در mainboard فعال باشد همانند راه قبلی این در حالی است که mainboard شما این قابلیت رو support کنه .کد سی شارپ را مانند زیر انجام دهید:
      یک class بسازید که از UDPClient که در NameSpace به نام System.Net.Sockets قرار دارد به ارث ببرد

        public class WOLClass:UdpClient    
      {
          public WOLClass():base()
          { }
          //this is needed to send broadcast packet
       
          public void SetClientToBrodcastMode()    
          {
            if(this.Active)
             this.Client.SetSocketOption(SocketOptionLevel.Sock  et,
                                       SocketOptionName.Broadcast,0);
          }
       }
      
      سپس در class اصلی که می خواین از اونجا این کار رو انجام یه Method به صورت زیر بسازید

      private void WakeFunction(string MAC_ADDRESS)
              {
                  WOLClass client = new WOLClass();
                  client.Connect(new
                     IPAddress(0xffffffff),  //255.255.255.255  i.e broadcast
       
                     0x2fff); // port=12287 let's use this one 
       
                  client.SetClientToBrodcastMode();
       
                  int counter = 0;
       
                  byte[] bytes = new byte[1024];   // more than enough :-)
       
                  //first 6 bytes should be 0xFF
       
                  for (int y = 0; y < 6; y++)
                      bytes[counter++] = 0xFF;
                  //now repeate MAC 16 times
       
                  for (int y = 0; y < 16; y++)
                  {
                      int i = 0;
                      for (int z = 0; z < 6; z++)
                      {
                          bytes[counter++] =
                              byte.Parse(MAC_ADDRESS.Substring(i, 2), System.Globalization.NumberStyles.HexNumber);
                          i += 2;
                      }
                  }
       
                  int reterned_value = client.Send(bytes, 1024);
              }
      
      یه Button به فرم اضافه کنید و رویداد کلیک این Method رو با مک آدرس کامپیوتر مورد نظرتون Call کنید
      بصورت زیر
      <div style="text-align: left;">WakeFunction("0041a37f5fd2");
      </div>
      
      روشن کردن کامپیوتر(سرور)از طریق شبکه با استفاده از سی شارپ

      مک آدرس فوق جواب میده اما اگر سیستم شما مک آدرس فوق جواب نداد از - های ما بین مک آدرس استفاده کنید.شاید برای برخی سوال پیش بیاد که این همه کار انجام بدیم تا فقط یک کامپیوتر رو روشن کنیم؟ اگر بخواهیم چند کامپیوتر رو با هم روشن کنیم کافیست یک Text Box رو فرم ایجاد کنیم و مک آدرس رو از داخل اون به برنامه پاس بدیم .البته می تونیم از List هم استفاده کنیم و وصلش کنیم به یه فایل ..


      نویسنده : فرهاد خانلری
      منبع : انجمن تخصصی فناوری اطلاعات ایران
      هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
      برچسب ها
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      • متشکرم دوست عزیز و گرامی
        ان شاءالله خداوند به شما پاداش و جزای خیر بدهد
        در صورت امکان آموزش از این قبیل برنامه ها را که برای مدیران شبکه کارآیی دارد را ادامه بدهید
        پیشنهاد میکنم در زمینه ارسال پیامک وضعیت سرور و سوییچ ها و کلاینت های شبکه و همچنین ثبت رویدادها و مانیتورینگ هم به هر صورتی که می توانید نیز آموزش تهیه نمایید
        موفق باشید

      برای ارسال نظر ابتدا به سایت وارد شوید