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

امیرحسین تنگسیری نژاد هستم با Part دوم دوره آموزشی برنامه نویسی سوکت در پایتون

ساخت یک Client

کارمان را با ساخت یک سوکت با استفاده از تابع socket() که در پارت قبل یادگرفتیم شروع میکنیم

در واقع Syntax نوشتاری یک سوکت در Python به شکل زیر میباشد

s = socket.socket (Socket_Family, Socket_Type, Protocol )

برای شما

خب توضیحات کلمات بالا:

Socket_Family:

نوع socket و پروتکل مد نظر را تعیین می کند که از کدام خانواده باشد:

AF_INET6: IPv6

AF_INET: IPv4

Socket_Type:

نوع اتصال، استفاده از پروتکل های TCP و یا UDP که مقدار های SOCK_STREAM و SOCK_DGRAM می باشد

SOCK_STREAM: TCP

SOCK_DGRAM: UDP

نکته: مقدار های دیگری همچون

SOCK_RAW

SOCK_RDM

SOCK_SEQPACKET

را نیز می تواند داشته باشد که فعلا مورد بحث ما نیستند و فقد از STREAM و DGRAM استفاده خواهیم کرد

Protocol:

پروتکل مد نظر که Default مقدار 0 را دارد

TCP:

مخفف Transmission Control Protocol پروتکلی است که با پروتکل IP کار می کند و نحوه انتقال داده های بین کامپیوتر ها را تعیین می سازد و در Transport-Layer استاندارد OSI و TCP/IP قرار دارد

UDP:

مخفف User DataGram Protocol می باشد که همانند پروتکل TCP است ولی فرق آن این است که سلامت ارسال بسته ها و دارا بودن خطا در آن ها تضمین نمیکند این مکانیزمش موجب بالا بودن سرعت شده است

نحوه ایجاد یک socket به عنوان کلاینت به منظور ارسال یک TCP Connection به سمت سرور را باهم پیش میبریم:

1import socket 

فراخانی ماژول

1socket HOST = '127.0.0.1'  # The server's hostname or IP address
1PORT = 65432        # The port used by the server

ایجاد دو متغیر که حاوی IP Address و Port سرور می باشند را ایجاد کرده ایم و به آنها مقدار دادیم

1s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

ایجاد یک TCP Connection

1s.connect((HOST , PORT))

و در اخر با استفاده از تابع connect به سمت سرور این Connection را ارسال خواهیم کرد

کد ما به شکل زیر می باشد

1import socket
1HOST = '127.0.0.1'  # The server's hostname or IP address
1PORT = 65432        # The port used by the server
1with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
1    s.connect((HOST, PORT))

خب به صورت کامل بخوام کد بالارو توضیح دهم

ما با استفاده از ماژول Socket در Python یک TCP Connection به سمت Host و Port مد نظرمان که Port برابر با 65432 می باشد و Host برابر با localhost می باشد ارسال کرده اییم و درخواست اتصال به این Port را داریم دراصل ما یک Client در سمت خود ایجاد کرده اییم

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

چطور مقدار Host و Port را از سمت کلاینت درخواست کنیم؟!

خب کافیست ما در متغییر ها Host و Port به جای دادن یک Value ( مقدار ) مد نظر، آن Value را از فرد اجرا کننده Script درخواست کنیم

1import socket
1try:
1    HOST = input("Please enter the IP address: ")   # The server's hostname or IP address
1    PORT = input("Please enter the Port number: ") # The port used by the server
1
1    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
1        s.connect((HOST, PORT))
1except:
1    print ("No connection established ! ")

خب حالا کدمان را اجرا میکنیم و خروجی به شکل زیر دریافت میکنیم که از ما درخواست ورودی های IP Address و Port Number را دارد که به ترتیب وارد میکنیم و اگر اتصال برقرار نشود به ما error دهد

پایان پارت دوم

نویسنده: امیرحسین تنگسیری نژاد

کانال شخصی من در تلگرام:

@AmirHoseinTangsiriNET

نویسنده مطلب: amirhoseintangsirinet

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و ۱۰ درصد تخفیف در کارمزد معاملاتی داشته باشی

ثبت نام و دریافت جایزه
ممکن است شما بپسندید
نظر شما درباره این مطلب

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