- شرح مكبتة socket وامثلة وتطبيقات عليها في لغة البايثون
- ماهي مكتبة socket في python ؟
- للحصول على اسم الجهاز والhost بالبايثون
- عرض الهوست الخاص بالموقع
- تحويل الhost الى Binary في python
- تحويل الhost الى Binary و hexadecimal في python
- معرفة نوع الport في python بإستخدام socket
- معرفة قيمة الport من خلال اسمه في بايثون
شرح مكبتة socket وامثلة وتطبيقات عليها في لغة البايثون
في هذا الدرس سوف نشارك معكم واحده من اقوى المكتبات استخداما في البايثون وخصوصا في بناء شبكة وهي مكتبة socket حيث تقوم هذة المكتبة بالتحكم بالsocket وبناء سيرفر والكثير من المميزات التي تقدمها لنا هذة المكتبة , وفي هذة المقاله سوف نتناول معكم مجموعة من خصائص هذة المكتبة معكم وكيفية بناء سيرفر والحصول على الIp والاسم من الجهاز الذي تعمل عليه .
تُستخدم socket في كل مكان تقريبًا ، لكنها أيضًا واحدة من أكثر التقنيات التي يساء فهمها. لا يزال يتعين عليك بذل بعض الجهد لإعداد الأمور وتشغيلها. لا يتطرق إلى جميع الجوانب الجيدة (وهناك الكثير) ، لكن آمل أن يمنحك المقال معلومات كافية لبدء استخدامها بشكل صحيح.
ماهي مكتبة socket في python ؟
تقوم الدالة socket () بإرجاع كائن مأخذ توصيل تقوم بتنفيذ استدعاءات نظام مأخذ التوصيل المختلفة. حيث واجهة Python هي عبارة عن تحويل صوتي بسيط لاستدعاء نظام Unix وواجهة المكتبة للمآخذ إلى نمط Python object-oriented : تقوم وظيفة socket () بإرجاع كائن مأخذ تقوم طرقه بتنفيذ استدعاءات نظام المقابس المختلفة. أنواع المعلمات أعلى قليلاً من مستوى واجهة C: تخصيص المخزن المؤقت في عمليات الاستلام تلقائي ، وطول المخزن المؤقت ضمني في إجراءات الإرسال ، تمامًا مثل عمليات القراءة () والكتابة () على ملفات Python.
للحصول على اسم الجهاز وال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
في هذا الكود سوف نستخدم الامر 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
في هذا الكود سوف نستعين بمكتبة 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
لكي تتمكن من معرفة اسم النطاق الذي يحمل الشبكة تستطيع من خلال الامر socket.getservbyport وتقوم بوضع الport و النوع وسوف يجلب لك الاسم .
import socket
port = 80
type_ = 'tcp'
convert = socket.getservbyport(port , type_)
print(' the host is : ' , convert)
معرفة قيمة الport من خلال اسمه في بايثون
اذا كنت تريد معرفة قيمة البوست من خلال اسمه استخدم الامر socket.getservbyname وارسل له الاسم وسوف يعمل على عرض القيمة الخاصه به .
import socket
soc = socket.getservbyname('http')
print(soc)
tensorflow python erp python django mongodb python mongodb python host