شرح مكبتة socket وامثلة وتطبيقات عليها في لغة البايثون

شرح مكبتة socket وامثلة وتطبيقات عليها في لغة البايثون

شرح مكبتة socket وامثلة وتطبيقات عليها في لغة البايثون

في هذا الدرس سوف نشارك معكم واحده من اقوى المكتبات استخداما في البايثون وخصوصا في بناء شبكة وهي مكتبة socket حيث تقوم هذة المكتبة بالتحكم بالsocket وبناء سيرفر والكثير من المميزات التي تقدمها لنا هذة المكتبة , وفي هذة المقاله سوف نتناول معكم مجموعة من خصائص هذة المكتبة معكم وكيفية بناء سيرفر والحصول على الIp والاسم من الجهاز الذي تعمل عليه .


تُستخدم socket  في كل مكان تقريبًا ، لكنها أيضًا واحدة من أكثر التقنيات التي يساء فهمها. لا يزال يتعين عليك بذل بعض الجهد لإعداد الأمور وتشغيلها. لا يتطرق إلى جميع الجوانب الجيدة (وهناك الكثير) ، لكن آمل أن يمنحك المقال معلومات كافية لبدء استخدامها بشكل صحيح.


ماهي مكتبة socket في python ؟

تقوم الدالة socket () بإرجاع كائن مأخذ توصيل تقوم بتنفيذ استدعاءات نظام مأخذ التوصيل المختلفة. حيث واجهة Python هي عبارة عن تحويل صوتي بسيط لاستدعاء نظام Unix وواجهة المكتبة للمآخذ إلى نمط Python object-oriented : تقوم وظيفة socket () بإرجاع كائن مأخذ تقوم طرقه بتنفيذ استدعاءات نظام المقابس المختلفة. أنواع المعلمات أعلى قليلاً من مستوى واجهة C: تخصيص المخزن المؤقت في عمليات الاستلام تلقائي ، وطول المخزن المؤقت ضمني في إجراءات الإرسال ، تمامًا مثل عمليات القراءة () والكتابة () على ملفات Python.


للحصول على اسم الجهاز والhost بالبايثون

للحصول على اسم الجهاز والhost بالبايثون

في هذا الكود نريد الحصول على اسم الجهاز وذلك يكون من خلال الميثود socket.gethostname وعندما نريد معرفة الهوست الخاص بالجهاز يكون ذلك عن طريق socket.gethostbyname وتكتب اسم الجهاز بداخلها وسوف يعرض لك الhost الخاص به .


import socket

name = socket.gethostname()
host = socket.gethostbyname(name)

print('the name host is : ',name , ' the host is : ' , host)


عرض الهوست الخاص بالموقع

عرض الهوست الخاص بالموقع

هذا يعد تكمله للكود السابق ففي هذة المرحلة سوف نقوم بعمل اختبار لمعرفة الهوست الخاص بالموقع .


import socket
host = socket.gethostbyname('www.geecoders.com')

print(' the host is : ' , host)


تحويل الhost الى Binary في python

تحويل الhost الى Binary في python

في هذا الكود سوف نستخدم الامر socket.inet_aton لتحويل الهوست الى binary 


import socket

host = '127.168.1.9'
host = socket.inet_aton(host)

print(' the host is : ' , host)


تحويل الhost الى Binary و hexadecimal في python

تحويل الhost الى Binary و hexadecimal في python

في هذا الكود سوف نستعين بمكتبة hexlify وهي التي سوف تساعدنا في امكانية تحويل الكود من Binary الى hexadecimal بسهوله .


import socket
from binascii import hexlify

host = '127.168.1.9'
host = socket.inet_aton(host)

print(' the host is : ' , host)
print(' the host is : ' , hexlify(host))


معرفة نوع الport في python بإستخدام socket

معرفة نوع الport في python بإستخدام socket

لكي تتمكن من معرفة اسم النطاق الذي يحمل الشبكة تستطيع من خلال الامر socket.getservbyport وتقوم بوضع الport و النوع وسوف يجلب لك الاسم .


import socket

port = 80
type_ = 'tcp'
convert = socket.getservbyport(port , type_)
print(' the host is : ' , convert)


معرفة قيمة الport من خلال اسمه في بايثون

معرفة قيمة الport من خلال اسمه في بايثون

اذا كنت تريد معرفة قيمة البوست من خلال اسمه استخدم الامر socket.getservbyname وارسل له الاسم وسوف يعمل على عرض القيمة الخاصه به .


import socket
soc = socket.getservbyname('http')
print(soc)



tensorflow python erp python django mongodb python mongodb python host

تعليقات