برنامه نویسی | ساخت چت رم با سوکت نویسی پایتون
ساخت چت رم با سوکت نویسی پایتون
  • علیرضا
  • ۱۳۹۸-۱۱-۱۴
  • ۱۸۸

ساخت چت رم با سوکت نویسی پایتون


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

بسته های استفاده شده در این پروژه :

  • socket
  • select
  • errno
  • sys

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

امروزه مردم برای تماس های تلفنی، تماشای تلویزیون، چت، خرید هر نوع کالا و… از کامپیوترها استفاده می کنند. تخمین تعداد کامپیوترهای قابل دسترس موجود بر روی اینترنت مشکل است، اما می توانیم به جرئت بگوییم در آینده نزدیک خدماتی نیست که نتوانیم از اینترنت بگیریم. اما چگونه یک برنامه با برنامه ای دیگر در شبکه ارتباط برقرار می کند؟ ارتباط بین برنامه ها در شبکه به کمک سوکت امکان پذیر می شود. سوکت ها اولین و پایه ای ترین یونیت های برنامه نویسی شبکه هستند، و منظور از “شبکه” همه جور شبکه هست Wifi,Internet,LAN و شبکه Cellular که موبایل ها از آن استفاده می کنند. اینترنتی که هر روز استفاده می کنید نتیجه میلیون ها سوکت هست که درخواست های شما را می گیرند و به سرور می رسانند و همچنین در آنجا سوکت هایی وجود دارند که درخواست شما را پردازش می کنند و صفحه مورد نظر شما را به شما نشان می دهند. امروزه، بیشترین ارتباطات بین کامپیوترها و برنامه ها بر پایه پروتکل اینترنت می باشد، بنابراین بیشترین سوکت های شبکه، سوکت های مبتنی بر پروتکل اینترنت هستند. بنابراین برنامه نویسی سوکت به عنوان پایه ای ترین نیاز برای برنامه نویسی بر روی شبکه از اهمیت بالایی جهت آموزش برخودار است.

چت رم پایتون سوکت

در مدل کلاینت – سرور، مبادلات زیر بین کلاینت و سرور رخ می دهد:

  • سرور سوکتی را تعریف می کند.
  • سرور سوکت را به یک IP که همان IP خودش است و یک پورت Bind می کند یا اختصاص می دهد.
  • سرور به پورت گوش می دهد.
  • کلاینت سوکتی را تعریف می کند و IP و پورت سرور را به آن اختصاص می دهد.
  • کلاینت درخواست اتصال یا کانکت شدن به سرور را می دهد.
  • سرور درخواست کلاینت را دریافت و آن را می پذیرد.
  • کلاینت اطلاعاتی را ارسال می کند.
  • سرور اطلاعات را می گیرد.
  • سرور اطلاعات را ارسال می کند و کلاینت آن را می گیرد.
  • سرور بسته می شود.
  • کلانیت بسته می شود.

Socket Programming چیست؟

به طور کلی، هر کامپیوتر (به ازای هر کارت شبکه‌اش) یک IP دارد؛ که از طریق این IP‌، می‌توان به ماشین فوق دسترسی پیدا نمود. این آدرس (IP) به 65535 پورت (PORT) تقسیم می‌شود.

PORT نیز یک مفهوم منطقی است که به کمک آن می‌توان بطور همزمان با چندین ماشین دیگر، ارتباط برقرار نمود. PORT ها به دو گروه رزرو شده (پورت‌های بین 1 تا 1024) و غیر رزرو شده (سایر پورت‌ها) تقسیم می‌شوند. پورت‌های رزرو شده، برای کاربردهای استاندارد مورد استفاده قرار می‌گیرند. مثلا: در برنامه‌های Server/Client، از پورت‌های غیر رزرو شده که آزاد باشند ( مورد استفاده‌ی سایر برنامه‌ها نباشند) می‌توان جهت برقراری ارتباطات مورد نیاز، استفاده نمود؛ یعنی می‌تواند به ازای هر پورت، با یک برنامه ارتباط برقرار کند.


شاید بپسندید


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

اصلی ترين عامل در يک ارتباط شبکه‌ای، Socket می‌باشد که اعمال شبکه را به صورت خواندن و نوشتن در يک فايل شبيه‌سازی نموده است. سوکت در اصل، مانند يک کانال ارتباطی است که ميان دو نقطه ايجاد شده و اطلاعات رد و بدل می‌شود. برای داشتن يک ارتباط شبکه‌ای، بايد يک سوکت ايجاد کنيم که لازمه‌ی اين کار اين است که بدانيم به قصد برای گوش دادن می‌خواهیم ايجاد کنیم يا برای فرستادن پيام. اگر برای فرستادن پيام باشد که واضح است نياز به آدرس مقصد داريم . اما اين کافی نيست!

برای فرستادن نامه، امروزه تنها آدرس ساختمان طرف کافی نيست و نياز به شماره واحد آن هم هست (این فقط یک مثال بود). در کامپيوتر هم فقط آدرس کافی نيست و شماره‌ی واحد برنامه‌ای که گوش به زنگ می‌باشد هم نياز است که به آن Port می‌گویند. يعنی شماره پورت هم نياز است.

در ضمن یک چیز مهم این است که بدانید IPv4 (ورژن 4 آی‌پی)، از 4 عدد 0 تا 255 تشکيل شده و این 4 عدد، با نقطه از هم جدا می‌شوند. مثلا: 185.213.166.204 يک IP است (آی‌پی فول کده)! اما پورت اعدادی بين 1 تا (بصورت رایج) 65000 را می‌تواند شامل شود. (بله بزرگتر از این عدد هم می‌تواند شماره پورت شود!!!)

از آن جایی که بالاخره تعداد ارقام در مدل بالا بالاخره محدود خواهد شد، ورژن 6 به نام IPv6 به وجود آمده است که در اینجا، 6 عدد را شامل می‌شود و احتمالا نام آن نیز برای شما آشنا است.

 

گروه برنامه نویسی پای سافت برای شما پروژه چت رم به زبان پایتون را اماده کرده است.با استفاده از برنامه نویسی سوکت چندین کلاینت به یک سرور متصل میشوند و باهم ارتباط برقرار میکنند...این پروژه در محیط ترمینالی کار میکند البته اگر نیاز به محیط گرافیکی داشتین گروه پای سافت با قیمت مناسب این کار رو انجام میده

 

شما میتوانید این پروژه را به صورت کامل از پایـ سافت دریافت کنید

  قیمت 50 هزار تومن  

برای اطلاعات بیشتر و خرید لطفا به آیدی زیر در تلگرام پیام دهید

@Khorammfar

شماره تماس : 09374851282

 

علیرضا

Alireza.kh

نظر شما در مورد این پست چیه؟!