برنامهنویسی شبکههای کامپیوتری به دو صورت برنامه نویسی شبکه جهانی اینترنت و برنامه نویسی شبکه داخلی انجام می گردد.
شبکه های کامپیوتری چیست ؟
شبکه های کامپیوتری شامل دو یا چندین رایانه ، تجهیزات سخت افزاری و نرم افزاری می باشند که امکان تبادل داده ها و اطلاعات را فراهم می کنند. خدمات و تجهیزات این شبکه ها شامل خدمات پسیو شبکه و خدمات اکتیو شبکه هستند.
تعریف برنامهنویسی شبکه
برنامهنویسی شبکههای کامپیوتری تولید برنامه هایی است که امکان برقراری ارتباط بین پردازش ها را در درون شبکه فراهم می کند. برنامه نویسی شبکه را می توان نوشتن برنامه هایی که در ارتباط با دیگران می باشند ، تعریف نمود. در برنامه نویسی شبکه ویژگی هایی وجود دارد که در برنامه نویسی تک برنامه یافت نمی شود.
اگر کاربران متعددی به صورت همزمان بتوانند یک برنامه را بر روی یک شبکه اجرا کنند به گونه ای که اهداف و نیازهای آنان تأمین شود ، این برنامه تحت شبکه می باشد. برنامه نویسی تحت شبکه یکی از خدمات شبکه می باشد. در برنامه نویسی تحت شبکه فعالیت یک کاربر نباید اختلالی در فعالیت های سایر کاربران ایجاد کند و تعداد کاربران نباید با محدودیت همراه باشد.
اهمیت برنامهنویسی شبکههای کامپیوتری
با پیشرفت و توسعه شبکه های کامپیوتری و اینترنت ، برنامهنویسی شبکههای کامپیوتری نیز گسترش زیادی پیدا کرده است.
برنامه نویسی شبکه ، امتیازهای فراوانی درباره مبادله داده ها و اطلاعات و سازماندهی و مدیریت سیستم ها دارد. با یک مثال ساده این مطلب روشن می گردد. در یک کافینت ، تمامی سیستم ها ، زمان ورود و خروج کاربران توسط یک نرم افزار تحت شبکه کنترل می شود. اگر مدیر شبکه قصد ارسال اطلاعاتی را به همه سیستم ها داشته باشد ، این کار را به آسانی به کمک شبکه انجام می دهد.
برنامه نویسی سوکت پرگرمینگ Socket programming یک نمونه از ابزارهای مدیریت کانال های شبکه است.
سوکت چیست ؟
سوکت از مهمترین مباحث در برنامهنویسی شبکههای کامپیوتری است. این اصطلاح ترکیبی از آدرس ماشین و شماره پورت است که امکان برقراری ارتباط در شبکه را فراهم می کند. تمام سیستم های موجود در شبکه برای برقراری ارتباط با سیستم های دیگر باید از آدرس و شماره درگاه برخوردار باشند.
سیستم سرویس دهنده به واسطه سوکت داده ها را ارسال می کند و سیستم سرویس گیرنده داده ها را به واسطه سوکت دریافت می کند. لذا سوکت وظیفه مهمی در شبکه برعهده دارد. سوکت ها در دو نوع سوکت اتصال گرا و سوکت بدون اتصال هستند.
سوکت های اتصال گرا ، انتقال داده ها و اطلاعات را با ایمنی کامل و بدون هیچگونه خطایی توسط پروتکل های TCP انجام می دهند.
سوکت های بدون اتصال ، انتقال داده ها و اطلاعات را به واسطه پروتکل UDP انجام می دهند. این انتقال در حالی است که هیچ اتصالی ندارند و ایمنی سوکت های اتصال گرا را ندارند.
کابرد سوکت
زمانی که سیستمی قصد دارد داده ها را ارسال کند، آنها را به سوکت می فرستد و سوکت این داده ها را به سیستم مقصد فرستاده و سوکت سیستم مقصد این داده ها را دریافت می کند.این فرآیند سوکت پروگرمینگ در شبکه گفته می شود. سوکت پروگرمینگ از برترین روش ها برای برنامهنویسی شبکههای کامپیوتری است که در شبکه های گوناگون استفاده می شود.
زبان برنامهنویسی شبکههای کامپیوتری
برنامه نویسی شبکه را نوشتن برنامه هایی که توانایی برقراری ارتباط با دیگران را دارند ، تعریف نمودیم. زبان های زیادی برای برنامه نویسی شبکه مورد استفاده قرار می گیرند. زبان برنامه نویسی جاوا یکی از معروفترین آنها می باشد که به علت استفاده راحت از کتابخانه ها ، برنامه های شبکه را بسیار آسان و بدون داشتن هیچگونه پیچیدگی قابل استفاده می کند.
از دیگر زبان های برنامهنویسی شبکههای کامپیوتری ، C/C++ , C# , Visual Basic , Perl می باشد.
برنامه های کاربردی شبکه
برخی از برنامه هایی که بر روی ماشین های Windows و با زبان ++Visual C/C نوشته شده اند ، موارد زیر است.
سرویس دهنده Echo ، برنامه ای فاقد اتصال و بسیار کاربردی می باشد. این برنامه هر پیغامی را که از یک سرویس بگیرد همانگونه به آن سرویس ارجاع می دهد.
سرویس دهنده Time ، برنامه ای پراستفاده و فاقد اتصال می باشد که هر پیغامی را از یک سرویس بگیرد، با پیغامی در بردارنده تاریخ و ساعت به آن سرویس پاسخ می دهد.