برنامه‌نویسی شبکه‌های رایانه‌ای

برنامه‌نویسی شبکه رایانه‌ای شامل نوشتن برنامه‌های رایانه‌ای است که پردازش‌ها را قادر می‌سازد با یکدیگر در یک شبکه رایانه ارتباط برقرار کنند.

 ارتباطات اتصال-محور و بدون اتصال 
به‌طور کلی، بسیاری از ارتباطات را می‌توان به اتصال-محور و غیر اتصالگرا تقسیم کرد. این که آیا ارتباطات ارتباطی اتصال-محور است یا بدون اتصال، توسط پروتکل ارتباطات تعریف می شود، و نه توسط رابط‌های کاربری برنامه(API). نمونه‌هایی از پروتکل‌های اتصال گرا شامل پروتکل انتقال کنترل شده(TCP) و تبادل ترتیبی بسته ها(SPX) هستند و نمونه‌هایی از پروتکل‌های بدون اتصال شامل پروتکل استفاده کنندهٔ دیتاگرام(UDP) , پروتکل IP خام و پروتکل تبادل بستهٔ میان شبکه ای (IPX) هستند.

 مشتری و سرور 
برای ارتباطات اتصال-محور، طرفین ارتباطات معمولاً نقشهای متفاوتی دارند. یک طرف معمولاً منتظر اتصالات ورودی است. به این بخش معمولاً " سرور " گفته می‌شود. طرف دیگر شروع کننده ارتباط است. به این بخش معمولاً " مشتری " گفته می‌شود.

برای ارتباطات بی‌سیم، معمولاً یک طرف ("سرور") منتظر یک بسته دریافتی است، و طرف دیگر ("مشتری") معمولاً به عنوان یک فرستنده که یک بسته را به‌صورت غیرمستقیم (هدایت نشده) به "سرور" ارسال می‌کند، شناخته می‌شود می‌شود.

 پروتکل‌های معروف و APIها 
برنامه‌نویسی شبکه به‌طور سنتی لایه‌های مختلف مدل OSI / ISO را در بر می‌گیرد (بیشتر برنامه‌نویسی در سطح برنامه متعلق به L4 و بالاتر است). جدول زیر شامل نمونه‌هایی از پروتکل‌های محبوب متعلق به لایه‌های مختلف OSI / ISO و APIهای محبوب برای آنها می‌باشد.
 لایه OSI / ISO پروتکل API L3 (شبکه) IP سوکت خام L4 (حمل و نقل) TCP، UDP، SCTP سوکت‌های برکلی L5 (جلسه) TLS OpenSSL L7 (برنامه) HTTP مختلف

 منابع 
 دبلیو. ریچارد استیونز: برنامه‌نویسی شبکه یونیکس، دوره ۱، ویرایش دوم: APIهای شبکه: سوکت و XTI، سالن Prentice، ۱۹۹۸، 

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