برنامه نویسی شبکه درNET. (بخش اول)

tablighat
برنامه نویسی شبکه درNET.

برنامه نویسی شبکه درNET.

برنامه نویسی شبکه درNET. (بخش اول)

اهمیت استفاده از شبکه های رایانه ای روز به روز بیشتر شده و به عنوان جزء ثابتی در یک شرکت و حتی یک ارگان بزرگ تبدیل شده است.اهمیت آن وقتی مشخص می شود که نیاز به اشتراک گذاری منابع،فایل هاو..همیشه راهکار اساسی برای حل بعضی مشکلات و کم شدن رفت و آمد افراد یک سازمان برای جابه جایی فایل ها و اسنادشان است.در وهله یعدی یحث امنیت و نگهداری داده هاست که اهمیت استفاده از شبکه های رایانه ای را بیشتر می کند.

حالا شما به عنوان برنامه نویس نیاز دارید با طراحی و توسعه یک برنامه به کاربران کمک کنید تا بتوانند براحتی اطلاعات خود را انتقال بدهند یا اینکه با دریافت اطلاعات  از یک سخت افزار که وظیفه تامین داده های شما را به عهده دارد،به بررسی اطلاعات بپردازد.

در این پست قصد داریم در مورد توسعه یک برنامه در شبکه ای محلی با استفاده از socket بحث کنیم و این که برنامه مورد نظر چگونه می تواند اطلاعاتی را برای یک رایانه دیگر در شبکه ارسال یا دریافت کند و چه روش هایی برای ارسال اطلاعات وجود داردو کدام یک با توجه به شرایط،نتایج بهتری خواهد داشت.

Socketچیست؟

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

برخی از درگاه های اصلی و پروتکل مورد استفاده آنها به صورت زیر است:

HTTP:80

Telnet:23

SMTP:25

SNPP:444

DNS:53

FTP(Data):20

FTP(Control):21

برای انتقال اطلاعات در یک شبکه دو حالت وجود داردکهNET.هر دو روش را به صورت کامل پشتیبانی می کند.حالت اولSynchronousوAsynchronousاست که وقتی برنامه ای داده ای را ارسال می کند باید منتظر بماند تا داده ای از سیستم مقابل پاسخ داد شود.اما در حالت دوم برنامه به کار عادی خود ادامه می دهد و هر وقت اطلاعات از سیستم دیگر پاسخ داده شد،آنها را پردازش می کند.

دو«فضای نام» برای این کار درNET.وجود دارد;یکی System .NETو دیگریSystem .NET .Sockets،فضای نام اول برای به دست آوردن مشخصات شبکه ای یک رایانه مثلIPو حتی DNS(Domain Name Systemبه کار می رود.

برای آشنایی بیشتر با این«فضای نام»به کد زیر دقت کنید که آدرس IP یک سایت را با استفاده از DNSآن به شما می دهد:

IPHostEntry IPHost = Dns.

GetHostEntry(“www.hotmail.com”);

IPAddress[]ipaddress = IPHost.addressList;

StringBuilder strIpAddress = new StringBuilder();

for (int i = 0; i<ipAddress.Length;i++)

strIpAddress.Append(ipAddress[i].

ToString());

Console.WriteLine(“The IP Address is:’=strIpAddress.ToString());

ابتدا از طریقDns.GetHostEntryمشخصات یک میزبان را بهIPHostEntryوارد می کنیم،سپس از طریق این شیء و با استفاده از ویژگی AddressListآن می توان به تمامی آدرس هایIPموجود دسترسی پیداکنیم.

قبل از اینکه به سراغ برنامه نویسی یک برنامهClientوServerبرویم،ابتدا دو تا از پروتکل های مهم شبکه را مورد بررسی قرار می دهیم.

اگر مطالعاتی در مورد شبکه داشته باشید حتی با دو پروتکلTCPوUDPآشنا هستید.اینجا مروری در این مرود این دو خواهیم داشت.

پروتکلTCPانتقال اطلاعات از طریق یک قانون ارتباط گرا(Connection Orient)است.این به معنای آن است که وقتی یک بسته اطلاعاتی ارسال می شود،سیستم ارسال کننده باید منتظر پاسخ باشد.اگر ارتباط قطع شود و بسته ارسال شده باشد،سیستم عدم ارسال بستع را اعلام می دهد.هر چند بسته اطلاعاتی در سیستم مقصد دریافت شده باشد،اما سیستم ارسال کننده به سبب اینکه پاسخی مبنی بر دریافت بسته نداشته،بسته را در برقراری دوباره ارسال می کند.این کار باعث کندی کارها می شود و کاربرد آن زمانی است که اهمیت ارسال اطلاعات مهم باشد.

در پروتکلUPD،انتقال اطلاعات بدون دریافت پاسخ انجام می شود و اطلاعات مشخصا در شبکه انتقال پیدا می کند و اینکه سیستم طرف پاسخ دهد که اطلاعات را دریافت کرده یا خیر،اصلا مهم نیست.

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

پایان بخش اول-تیم پی سی دراپ -امید

برگرفته ازClick

tablighat

Omid Ka

به طراحی وب و همچنین کار با سیستم مدیریت های مختلف علاقه مندم و همچنین در زمینه اخبار فناوری و تکنولوژی در خدمت دوستداران پی سی دراپ هستم :-)

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *