به طور کلی هر کامپیوتر ( به ازای هر کارت شبکهاش ) یک IP دارد، که از طریق این IP میتوان به کامپیوتر یا ماشین دسترسی پیدا نمود.
در برنامههای Server/Client از Portهای غیر رزرو شده که آزاد باشند (مورد استفاده سایر برنامهها نباشند) میتوان جهت برقراری ارتباطات مورد نیاز، استفاده نمود. یعنی میتواند به ازای هر پورت با یک برنامه ارتباط برقرار کند.
سوکت (Socket) یا پریز یا کانال در «شبکه»:
با یک بیان ساده میتوان گفت که سوکت به ترکیب یک آدرس ماشین (IP) و یک شماره درگاه (Port) گفته میشود.
در برقراری ارتباط بین کامپیوترها در یک شبکه دو چیز بسیار مهم است:
- آدرس ماشینی که میخواهیم اطلاعاتی از آن بگیریم یا به آن ارسال کنیم
- برنامهای از آن ماشین که درخواست اطلاعات کرده یا اینکه میخواهیم اطلاعاتی از آن برنامه کسب کنیم.
این دو یعنی آدرس ماشین و شماره برنامه به وسیله سوکت در شبکه مشخص میشوند. سوکت یک ارتباط قابل اطمینان جهت انتقال دادهها بین دو host (ماشین مورد نظر) میباشد. سوکت، برنامه نویسان را از پیچیدگیهای فرآیند برقراری ارتباط بین دو ماشین مانند جزئیات کد کردن بستهها، فرآیند ارسال دادهها در شبکه، ارسال مجدد بستههای خراب و … دور میسازد و برنامه نویسان به راحتی قادر به توسعه برنامههای تحت شبکه میباشند.
یک سوکت در حقیقت ترکیبی از IP یا HostName و یک شماره پورت (Port Number) از آن IP میباشد.
بطور کلی یک سوکت چهار عمل اصلی زیر را انجام میدهد:
- اتصال به ماشین راه دور
- ارسال داده ها
- دریافت داده ها
- بستن یا خاتمه اتصال