جستجو برای:
سبد خرید 0
  • مداد سبز
  • دوره های آموزشی
    • آموزش برنامه نویسی
    • آموزش پایتون
    • آموزش PHP
    • آموزش متلب
    • آموزش SQl
    • آموزش سالیدیتی
    • آموزش Asp.net core
    • آموزش ++C
    • آموزش vue js
    • آموزش جاوا
  • وبلاگ
    • مقالات آموزش برنامه نویسی
    • مقالات پایتون
    • مقالات PHP
    • مقالات آموزش جاوا اسکریپت
    • مقالات آموزش فلاتر
    • مقالات کسب درآمد
  • داستان مداد سبز
  • تماس با مداد سبز
  • تدریس در مداد سبز
  • پشتیبانی فقط از طریق تیکت
  • info@medadsabz.com
0
مداد سبز
  • مداد سبز
  • دوره های آموزشی
    • آموزش برنامه نویسی
    • آموزش پایتون
    • آموزش PHP
    • آموزش متلب
    • آموزش SQl
    • آموزش سالیدیتی
    • آموزش Asp.net core
    • آموزش ++C
    • آموزش vue js
    • آموزش جاوا
  • وبلاگ
    • مقالات آموزش برنامه نویسی
    • مقالات پایتون
    • مقالات PHP
    • مقالات آموزش جاوا اسکریپت
    • مقالات آموزش فلاتر
    • مقالات کسب درآمد
  • داستان مداد سبز
  • تماس با مداد سبز
  • تدریس در مداد سبز
ورود / عضویت

آموزش سوکت نویسی با پایتون

1401-10-10
ارسال شده توسط support
برنامه نویسی، پایتون
آموزش سوکت نویسی با پایتون

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

مقدمات آموزش سوکت نویسی با پایتون

مقدمات آموزش سوکت نویسی با پایتون

برای این که سوکت نویسی را شروع کنید در ابتدا باید با یکسری مفاهیم اولیه و ساده آشنا شوید که به شرح زیر هستند:

  1. سوکت

به کانال ارتباطی که برای هر برنامه وجود داشته و اطلاعات ان به وسیله این کانال رد و بدل می شود سوکت گفته می شود.

  1. آی پی آدرس(ip)

 به هر کامپیوتری که در شبکه حضور دارد یک آدرس منحصر بفرد تعلق می گیرد که به ان آی پی گفته میشود. آی پی ها دارای دو نوع هستند: IPv4و IPv6. IPv4 به نام ورژن 4 شناخته میشود و چهار عدد در مبنای ده دهی دارد. این اعداد که در بازه 0 تا 255 هستند به وسیله یک نقطه از یکدیگر متمایز می شوند.

اما IPv6 که ورژن 6 است از اعداد و حروفی تشکیل می شود که دارای استاندارد هگزا دسیمال بوده و هر کدام از بخش های این آی پی به وسیله یک دو نقطه یا همان colon (:)  از یکدیگر متمایز می شوند. برای این آی پی از یک فضای 128 بیتی به منظور آدرس دهی استفاده میشود.

  1. پورت

هر آی پی شصت و پنج هزار و پانصد و سی و پنج پورت دارد. این یعنی این تعداد برنامه و ماشین می توانند به این آی پی متصل شوند. پورت ها می توانند دو نوع باشند: رزرو شده و رزرو نشده. پورت های 1 الی 1024 در دسته اول یعنی رزرو شده ها قرار گرفته و سایر پورت ها را در گروه دوم قرار می دهند.

  1. پروتکل

پروتکل ها یا همان قراردادها در واقع قانون هایی هستند که نحوه برقراری ارتباط ماشین های گوناگون با هم را تعیین می کنند. پس می توان گفت پروتکل ها یک زبان مشترک بین ماشین ها هستند که به انها کمک می کنند با هم ارتباط برقرار کرده و اطلاعات را رد و بدل کنند. شبکه ها پروتکل های مختلفی دارند که در این میان پرتوکل های TCP و UDP پرکاربردترین ها هستند.

مطالعه مقاله
متلب چیست؟ 5 مورد از کاربرد های متلب را بدانید

آشنایی با انواع سوکت هاآشنایی با انواع سوکت ها

در ادامه آموزش سوکت نویسی با پایتون نوبت به آشنایی با انواع سوکت ها می رسد. انواع سوکت ها به شرح زیر هستند:

استریم (stream)

این دسته از سوکت ها بر اساس پروتکل TCP هستند و با همین پروتکل مشغول به کار می باشند. برای پروتکل های FTP, HTTP و SMTP از سوکت هایا ستریم استفاده می شود. سوکت های استریم پیش از تبادل اطلاعات ابتدا یک اتصال ایجاد می کنند که از مهمترین ویژگی های آن ایمن و قوی بودن است. سپس داده ها با نظم مناسب و دقت بالا به مقصد ارسال خواهند شد.

دیتاگرام (datagram)

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

آشنایی با آموزش سوکت نویسی با پایتون و اصول آن

حال که با مقدمات لازم در زمینه آموزش سوکت نویسی با پایتون آشنا شدید نوبت می رسد کمی در مورد خود این موضوع هم صحبت کنیم. به طور سوکت نویسی در پایتون به کمک کتابخانه ای استاندارد به همین نام یعنی سوکت (socket) قابل انجام است. برای سوکت نویسی هم لازم داریم که برنامه نویسی سمت سرور انجام شود و هم برنامه نویسی کلاینت. البته خوب است بدانید که می توان ارتباطات را به صورت غیر کلاینت- سروری هم برقرار کرد.

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

مطالعه مقاله
روش های کسب درآمد از برنامه نویسی جاوا اسکریپت

توسعه دهندگان می توانند در این کلاس، اشیا سوکت که به انها Socket Object گفته می شود را در سورس کدهای خوب خیلی ساده و بی هیچ دردسری پیاده‌سازی و اجرا کنند. برای پیاده‌سازی سوکت در پایتون سه مرحله کلی وجود دارد که به شرح زیر هستند:

  1. کتابخانه ی سوکت (Socket) را در پایتون ایمپورت کنید

در این بخش از آموزش سوکت نویسی با پایتون نوبت به اولین مرحله از این کار می رسد که تیمپورت کردن کتابخانه ای به همین نام در برنامه پایتون است. مزیتی که برای این کار وجود دارد این است که شما لازم نیست این کتابخانه را به کمک پکیج منیجر یا همان مدیر بسته نصب کنید. چرا که کتابخانه سوکت یکی از کتابخانه های دیفالت برای پایتون به شمار می آید. ایمپورت کردن این کتابخانه به کمک دستور import socket انجام می شود.

  1. سوکت آبجکت را بسازیدسوکت آبجکت را بسازید

در مرحله بعدی از آموزش سوکت نویسی با پایتون نوبت به آن می رسد که یک سوکت آبجکت ایجاد کنید .برای این کار می توانید از کدی که در زیر آورده شده استفاده کنید و سوکت مورد نظر را ایجاد کنید:

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

دقت کنید به کمک کد بالا شما یک سوکت آبجکت ایجاد می کنید و سپس آن را در متغیری به نام sock ذخیره خواهید کرد. Constructor که به آن سازنده هم گفته می شود نوعی پارامتر و یک خانواده برای socket مورد نظر شما به وجود می اورد. پارامتری هم که برای خانواده تعریف می شود یک گروه از مقدارهای دیفالت است که فرمت انها internet address format یا همان فرمت ادرس اینترنتی است.

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

  1. اتصال های باز و بسته را ایجاد کنید

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

مطالعه مقاله
تگ ‌های معنایی(Semantic Tags) در HTML۵

## Connect to an IP with Port, could be a URL

sock.connect((‘0.0.0.0’, 8080))

## Send some data, this method can be called multiple times

sock.send(“Twenty-five bytes to send”)

## Receive up to 4096 bytes from a peer

sock.recv(4096)

## Close the socket connection, no more data transmission

sock.close()

آموزش سوکت نویسی با پایتون برای سمت سرورآموزش سوکت نویسی با پایتون برای سمت سرور

نخستین گام برای انجام این کار نصب داشتن پایتون بر روی سیستمی است که قرار است روی ان کار کنید. در گام بعدی شما به کمک دستور ایمپورت سوکت نویسی را آغاز می کنید.

# echo-server.py

import socket

HOST = “127.0.0.1”  # Standard loopback interface address (localhost)

PORT = 65432  # Port to listen on (non-privileged ports are > 1023)

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:

    s.bind((HOST, PORT))

    s.listen()

    conn, addr = s.accept()

    with conn:

        print(f”Connected by {addr}”)

        while True:

            data = conn.recv(1024)

            if not data:

                break

            conn.sendall(data)

قطعه کد بالا به منظور سوکت نویسی سرور ساید در پایتون می تواند مورد استفاده قرار گیرد. با استفاده از socket.socket() شما یک سوکت ابجکت ایجاد کرده اید که می تواند از فرمت Context Manager Type پشتیبانی کند. آرگومان هایی هم که برای تابع سوکت تعریف می کنیم از نوع ثابت یا constant هستند و از انها به منظور تعیین address family یا همان خاناوده آدرس ها و همینطور نوع سوکت مورد نظر بهره گرفته می شود. اگر علاقه مند به یادگیری و آموزش پایتون هستید به صفحه مربوط آن مراجعه کنید.

خانواده آدرس اینترنتی مان در این کد AF_INET است که برای پرتکل IPv4 است. به علاوه نوع سوکت هم با SOCK_STREAM نشان داده می شود که مشخص می کند این سوکت برای پرتوکل تی سی پی است. از متد bind() هم به منظور برقراری ارتباط رابط شبکه مخصوص و همینطور شماره port آن  با سوکت مورد نظر استفاده میشود که به شکل زیر است:

# echo-server.py

# …

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:

    s.bind((HOST, PORT))

    # …

خلاصه

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

قبلی پیش نیاز های آموزش جاوا اسکریپت(چگونگی، یادگیری، بررسی جامع)
بعدی سیستم مورد نیاز برنامه نویسی اندروید

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • #C
  • ++C
  • CSS
  • HTML
  • PHP
  • SQL server
  • اندروید
  • برنامه نویسی
  • پایتون
  • جاوا
  • جاوا اسکریپت
  • دارت
  • دلفی
  • سوئیفت
  • فلاتر
  • متلب
  • وبلاگ
  • یادگیری ماشین
  • محبوب
  • جدید
  • دیدگاه ها

لوگو مدادسبز    مداد سبز

آکادمی مداد سبز از سال 1400 با همکاری اساتید با سابقه و کارشناسان مجرب آموزشی-مشاوره ای با هدف ارتقای کیفیت آموزش آنلاین در کشور جهت تربیت نیرو های متخصص، در حال فعالیت می باشد و در این راستا قصد دارد آموزش های آنلاین با کیفیت و مهارت محور را در زمینه های مختلف در اختیار دانشجویان قرار دهد.

دسترسی سریع
  • مداد سبز
  • داستان مداد سبز
  • تماس با مداد سبز
  • حریم خصوصی
  • شرایط بازگشت وجه
  • تدریس در مداد سبز

شبکه های اجتماعی

مجوز های مداد سبز

تمامی حقوق سایت متعلق به پلتفرم آموزش آنلاین مداد سبز می باشد.
اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://medadsabz.com/?p=21394
ورود ×
کد تایید
لطفاً کد تأیید ارسال شده به را تایپ کنید
ثبت
ورود با گذرواژه یکبار مصرف
ارسال مجدد گذرواژه یکبار مصرف(00:180)
آیا حساب کاربری ندارید؟
ثبت نام

ارسال مجدد گذرواژه یکبار مصرف (00:180)
بازگشت به ورود
  • (+98) Iran
مرورگر شما از HTML5 پشتیبانی نمی کند.