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

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

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

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

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      حسین احمدی
      امتیاز: 212242
      رتبه:3
      342
      253
      403
      2719
      حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ... پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 27 قسط خریداری کنید
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      مدرس: ایمان جوادی
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 78 قسط خریداری کنید
      دوره آموزشی طراحی رابط کاربری با JavaFX
      دوره آموزشی طراحی رابط کاربری با JavaFX
      مدرس: حسام رسولیان
      این دوره را در 13 قسط خریداری کنید
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 18 قسط خریداری کنید
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      مدرس: مهدی عادلی فر
      این دوره را در 2 قسط خریداری کنید
      دوره آموزشی ساخت ربات تلگرام
      دوره آموزشی ساخت ربات تلگرام
      مدرس: کاظم تقندیکی
      این دوره را در 8 قسط خریداری کنید
      دوره آموزشی Exploit نویسی به زبان Perl
      دوره آموزشی Exploit نویسی به زبان Perl
      مدرس: ایمان جوادی
      این دوره را در 7 قسط خریداری کنید
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      مدرس: کاظم تقندیکی
      این دوره را در 20 قسط خریداری کنید
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 23 قسط خریداری کنید
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      مدرس: کاظم تقندیکی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      مدرس: امیر حسین فضلیخانی
      این دوره را در 12 قسط خریداری کنید

      برنامه نویسی شبکه (Network Programming) در سی شارپ :: کار با آدرس های IP و Dns

      تاریخ 12 ماه قبل
      نظرات 0
      بازدیدها 273
      در محیط اینترنت و شبکه تمامی سرور ها و همچنین کلاینت به وسیله آدرسی به نام IP شناخته می شوند. در کنار IP یک نام دیگر نیز استفاده می شود که به آن Host Name یا Domain Name گفته می شود و هر Host Name به یک آدرس IP اشاره می کند. ارتباط HostName یا Domain Name را با IP مثل یک دفترچه تلفن می توان در نظر گرفت که نام هر شخص یک شماره تلفن مختص به خود را دارد و از روی نام شخص می توان شماره تماس آن شخص را پیدا کرد، Domain Name هم به همین صورت است و بوسیله نام Domain می توان آدرس IP یک سرور یا کلاینت را در محیط اینترنت یا شبکه پیدا کرد. مکانیزمی که بوسیله آن بر اساس نام Domain یا Host آدرس IP یک سیستم را مشخص می کنند DNS یا Domain Name System نام دارد. در این مطلب قصد داریم تا با کلاس هایی آشنا شویم که در زبان سی شارپ برای کار با آدرس های IP و DNS ها استفاده می شوند. آدرس IP در حال حاضر بر دو نسخه ارائه شده، نسخه 4 یا IPv4 و نسخه 6 یا IPv6. نسخه 4 یک مقدار 32 بیتی است و نسخه 6 یک مقدار 64 بیتی و مشخص است که بوسیله نسخه 6 می توان تعداد بیشتری سرور و کلاینت را در محیط اینترنت و شبکه آدرس دهی کرد.

      در دات نت چندین کلاس وجود دارد که بوسیله آن ها می توان با آدرس های IP و Dns کار کرد. یکی از این کلاس ها IPAddress است که در فضای نام System.Net قرار دارد و نشان دهنده یک آدرس IP است. بوسیله این کلاس امکان Parse کردن یک آدرس IP از یک رشته، گرفتن IP در قالب آرایه ای از Byte و همچنین نمایش IP به صورت رشته را خواهیم داشت. در مثال زیر نحوه کار با این کلاس را میبینیم:

      var ipAddress = IPAddress.Parse("192.168.1.120");
      var ipBytes = ipAddress.GetAddressBytes();
      Console.WriteLine(ipAddress.ToString()); // 192.168.1.120
      

      کلاس IPAddress یکسری اعضای static دارد که می توان از آن ها برای برخی کارها استفاده کرد، برای مثال، فیلد Loopback آدرسی که بوسیله آن می توان به سیستمی برنامه بر روی آن در حال اجرا است پیامی ارسال کرد و فیلد Broadcast امکان ارسال پیام ها را به صورت گروهی در محیط شبکه می دهد:

      Console.WriteLine(IPAddress.Loopback); // 127.0.0.1
      Console.WriteLine(IPAddress.Broadcast); // 255.255.255.255
      

      کلاس دیگری در فضای نام System.Net وجود دارد به نام IPHostEntry که اطلاعات یک Host را برای ما نگهداری می کند. اما قبل از اینکه از این کلاس استفاده کنیم با کلاسی آشنا می شویم به نام Dns، این کلاس یک متد استاتیک با نام GetHostEntry دارد که آدرس یک Host را گرفته و اطلاعات مربوط به به آن Host را در قالب IPHostEntry برای ما بر میگرداند (متد قدیمی برای اینکار Resolve بود که در نسخه های جدید با متد GetHostEntry جایگزین شده است):

      IPHostEntry entry = Dns.GetHostEntry("tosinso.com");
      Console.WriteLine(entry.HostName);
      foreach(var ipAddress in entry.AddressList)
      {
          Console.WriteLine(ipAddress);
      }
      

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

      tosinso.com
      185.8.173.236
      

      کلاس IPHostEntry خصوصیتی دارد با نام AddressList که لیستی از Address های IP مربوط به Host مشخص شده را برای ما بر میگرداند که در نمونه کد بالا بوسیله دستور foreach آدرس های مورد نظر را در خروجی چاپ کردیم.

      اگر بخواهیم اطلاعات یک Host را بر اساس آدرس IP به دست بیاوریم کافیست به جای نام Host آدرس IP را به صورت زیر مشخص کنیم:

      var entry = Dns.GetHostEntry(IPAddress.Parse("185.8.173.236"));
      Console.WriteLine(entry.HostName);
      

      کلاس IPAddress زمانی که قصد استفاده از Socket ها در سی شارپ را داشته باشیم کاربرد دارد.

      نویسنده: حسین احمدی
      منبع: ITpro
      برچسب ها
      ردیفعنوان
      1برنامه نویسی شبکه (Network Programming) در سی شارپ :: آشنایی با کلاس HttpClient
      2برنامه نویسی شبکه (Network Programming) در سی شارپ :: ارسال درخواست Post در کلاس HttpClient
      3برنامه نویسی شبکه (Network Programming) در سی شارپ :: کلاس های Uri و UriBuilder
      4برنامه نویسی شبکه (Network Programming) در سی شارپ :: کار با آدرس های IP و Dns
      5برنامه نویسی شبکه (Network Programming) در سی شارپ :: کلاس های TcpClient و TcpListener
      6برنامه نویسی شبکه (Network Programming) در سی شارپ :: پروتکل SMTP و ارسال ایمیل در سی شارپ
      دورهمجموعه کل دوره
      مطالب مرتبط

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

      نظرات
      هیچ نظری ارسال نشده است

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