برنامه نویسی

سوکت نویسی چیست ؟ | ۲۰۲۲

()

برنامه نویسی سوکت چیست؟

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

برای توسعه دهنده، سوکت مانند یک فایل descriptor سطح پایین رفتار می کند. این به این دلیل است که دستوراتی مانند ()read و ()write با سوکت به همان روشی که با فایل ها و لوله ها کار می کنند کار می کنند. برنامه نویسی سوکت راهی برای اتصال دو گره در یک شبکه برای ارتباط با یکدیگر است. سوکت (گره) به یک پورت IP خاص گوش می دهد تا زمانی که سوکت دیگری برای اتصال به پورت دیگری دست دراز کند. سرور سوکت شنونده را به محض رسیدن مشتری به سرور راه اندازی می کند.

کاربرد برنامه نویسی سوکت

سوکت نویسی چیست سوکت Unix در چارچوب برنامه کاربردی سرور مشتری استفاده می شود. سرور فرآیندی است که برخی از عملکردها را به درخواست مشتری انجام می دهد. اکثر پروتکل های سطح برنامه مانند FTP، SMTP و POP3 از سوکت برای برقراری ارتباط بین مشتری و سرور و سپس تبادل اطلاعات استفاده می کنند.

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

رابط کاربری سوکت (API) یک شبکه استاندارد TCP/IP است. طیف گسترده ای از سیستم عامل ها از سوکت API پشتیبانی می کنند. سوکت IBM از چندین انتقال شبکه و پروتکل پشتیبانی می کند. توابع سیستم سوکت و توابع شبکه سوکت موضوعی هستند.

معماری سوکت نویسی

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

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

شکل زیر جریان معمول رویدادها (و توالی APIهای صادر شده) را برای یک جلسه سوکت اتصال گرا نشان می دهد. شرح هر رویداد در تصویر زیر آمده است.

سوکت نویسی چیست

این یک جریان معمولی برای یک سوکت اتصال گرا است:

  • socket() API یک نقطه پایانی برای ارتباطات ایجاد می کند و توصیف کننده سوکت را نشان می دهد که نقطه انتهایی را نشان می دهد.
  • وقتی یک برنامه دارای توصیف کننده سوکت است، می تواند یک نام منحصر به فرد را به سوکت وصل کند. سرورها باید نامی را برای دسترسی به شبکه پیوند دهند.
  • listen() API نشان دهنده تمایل به پذیرش درخواست های اتصال کلاینت است. هنگامی که یک listen() API  برای یک سوکت صادر می شود، آن سوکت نمی تواند درخواست های اتصال را به طور فعال آغاز کند. listen() API پس از اختصاص سوکت با socket() API صادر می شود و () API bind اتصال به یک نام به سوکت صادر می شود. قبل از انتشار accept()API بایدlisten() API صادر شود.
  • برنامه کلاینت برای ایجاد اتصال به سرور از ()API connect در یک سوکت جریان استفاده می کند.
  • برنامه سرور برای پذیرش درخواست اتصال کلاینت از()API accept استفاده می کند. قبل از اینکه API را بپذیرد، سرور باید API های ()bind و ()API listenرا بطور موفقیت آمیز منتشر کند.
  • هنگامی که اتصال بین سوکت های جریان (بین کلاینت و سرور) برقرار شد، می توانید از هرکدام از API های انتقال داده API سوکت استفاده کنید. کلاینت ها و سرورها API های زیادی برای انتقال داده دارند که از آن می توان انتخاب کرد، مانند()send() ،recv() ،read() ،write و موارد دیگر. هنگامی که یک سرور یا کلاینت می خواهد عملیات را متوقف کند،()API close را برای انتشار منابع سیستم به دست آمده توسط سوکت صادر می کند.

چقدر این پست برای شما مفید بود?

بهترین زبان برنامه نویسی برای هک و هکر شدن (15 زبان مهم) + توضیحات کامل/ 2022
خواندن

لطفا برای امتیاز روی یک ستاره کلیک کنید.

Average rating / ۵. Vote count:

هیچ امتیازی تا الان ثبت نشده! اولین نفری باشید که به این پست امتیاز می دهید.

متاسفیم که این پست برای شما مفید نبود!

اجازه دهید این پست را بهبود ببخشیم!

به ما بگویید چگونه می توانیم این پست را بهبود ببخشیم؟

نمایش بیشتر

محمد حسین جعفری

ی آدم معمولی که هرچی بلده میخواد رو کنه

نوشته های مشابه

1 دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا