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

سوکت (Socket) یا پریز یا کانال در «شبکه» سوکت به ترکیب یک آدرس ماشین (آی‌پی یا IP) و یک شماره درگاه (پورت یا Port) گفته می‌شود. در برقراری ارتباط بین کامپیوترها در یک شبکه، دو چیز بسیار مهم است: آدرس ماشینی که می‌خواهیم اطلاعاتی از آن بگیریم یا به آن ارسال کنیم. برنامه‌ای از آن ماشین که درخواست اطلاعات کرده؛ و یا اینکه می‌خواهیم اطلاعاتی از آن برنامه کسب کنیم. این دو، یعنی آدرس ماشین و شماره برنامه، به وسیله‌ی سوکت در شبکه مشخص می‌شوند. سوکت یک ارتباط قابل اطمینان جهت انتقال داده‌ها بین دو ماشین مجزا می‌باشد. سوکت، برنامه‌نویسان را از پیچیدگی‌های فرآیند برقراری ارتباط بین دو ماشین مانند جزئیات کد کردن بسته‌ها، فرآیند ارسال داده‌ها در شبکه، ارسال مجدد بسته‌های خراب و … دور ساخته و برنامه‌نویسان، به راحتی قادر به توسعه‌ی برنامه‌ها‌ی تحت شبکه می‌باشند. یک سوکت همانطور که گفته شد، در حقیقت ترکیبی از آی‌پی (IP) یا نام هاست (HostName) و یک شماره پورت (Port Number) از آن آی‌پی می‌باشد. و به‌طور کلی، یک سوکت چهار عمل اصلی زیر را انجام می‌دهد: اتصال به ماشین راه دور ارسال داده‌ها دریافت داده‌ها بستن یا خاتمه‌ی اتصال اما چرا گفتیم در شبکه‌هایی که ارتباط دو طرفه نیاز است، از TCP/IP استفاده می‌شود؟! چون انواع دیگری هم از جمله UDP وجود دارند؛ که تقریبا ارتباط یک طرفه می‌باشد؛ مثلا برای پخش برنامه‌های رادیویی. اصلی ترین عامل در یک ارتباط شبکه‌ای، Socket می‌باشد؛ که اعمال شبکه را به‌صورت خواندن و نوشتن در یک فایل شبیه‌سازی نموده است. سوکت در اصل، مانند یک کانال ارتباطی است؛ که میان دو نقطه ایجاد شده و اطلاعات، رد و بدل می‌شود. برای داشتن یک ارتباط شبکه‌ای، باید یک سوکت ایجاد کنیم؛ که لازم