Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python
Code

مقدمة لبرمجة الشبكة في Python

by
Difficulty:AdvancedLength:ShortLanguages:

Arabic (العربية/عربي) translation by Diangr (you can also view the original English article)

هذا البرنامج التعليمي سوف تعطي مقدمة إلى مأخذ التوصيل في Python وكيفية استخدام الوحدة النمطية لمآخذ التوصيل لبناء خوادم HTTP وعملاء في Python. وسوف تشمل أيضا إعصار، مكتبة الربط الشبكي بيثون الذي يعتبر مثاليا للاقتراع طويلة، WebSockets، وغيرها من التطبيقات التي تتطلب اتصال معمرة لكل مستخدم.

ما هي المآخذ؟

مأخذ توصيل هو ارتباط بين اثنين من التطبيقات التي يمكن الاتصال مع بعضها البعض (أما محلياً على جهاز واحد أو عن بعد بين جهازين في مواقع منفصلة).

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

مأخذ توصيل وحدة نمطية

من أجل إنشاء مأخذ توصيل، يمكنك استخدام الدالة socket.socket()، وبناء جملة بسيطة مثل:

هنا هو وصف للوسائط:

  • socket_family: يمثل الأسرة عنوان (والبروتوكول). يمكن أن تكون أما AF_UNIX أو AF_INET.
  • socket_type: يمثل نوع مأخذ التوصيل، ويمكن أن يكون أما من SOCK_STREAM أو SOCK_DGRAM.
  • البروتوكول: هذا وسيطة اختيارية، وأنها عادة ما تكون افتراضياً إلى ٠.

بعد الحصول على كائن المقبس الخاص بك، يمكنك ثم إنشاء الملقم أو العميل كما هو مطلوب باستخدام الأساليب المتوفرة في الوحدة النمطية لمآخذ التوصيل.

إنشاء عميل بسيط

قبل أن نبدأ، دعونا ننظر في الأساليب مأخذ توصيل العميل المتوفرة في Python.

  • s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  • s.connect() : يبدأ اتصال ملقم TCP.

لإنشاء مأخذ توصيل جديدة، يمكنك استيراد أولاً الأسلوب مأخذ من فئة مأخذ التوصيل.

وبعد ذلك، سوف نقوم بإنشاء مأخذ تيار (TCP) على النحو التالي:

الوسيطة AF_INET يشير إلى أن كنت تطلب مأخذ توصيل بروتوكول إنترنت (IP)، على وجه التحديد IPv4. الوسيطة الثانية هي نوع بروتوكول النقل SOCK_STREAM لمآخذ توصيل TCP. بالإضافة إلى ذلك، يمكنك أيضا إنشاء مأخذ IPv6 بتحديد وسيطة AF_INET6 مأخذ التوصيل.

حدد الملقم.

تحديد منفذ نريد التواصل مع.

قم بتوصيل مأخذ التوصيل إلى الميناء حيث يتم الاستماع الملقم.

من المهم ملاحظة أن المضيف والمنفذ يجب أن تكون مجموعة.

إرسال طلب بيانات إلى الخادم:

الحصول على الاستجابة من الملقم:

لإغلاق مأخذ توصيل متصل، يمكنك استخدام أسلوب أغلق:

أدناه هو التعليمات البرمجية الكاملة للعميل/الملقم.

بناء خادم بسيط

الآن دعنا نلقي نظرة على ملقم Python server. فيما يلي بعض الأساليب الملقم مأخذ التوصيل المتوفرة في Python.

  • s = socket.socket (socket.AF_INET، مأخذ التوصيل. SOCK_STREAM)
  • s.bind(): ربط العنوان (اسم المضيف ورقم المنفذ) على مأخذ توصيل.
  • s.listen(): يقوم بإعداد وبدء تشغيل وحدة الإصغاء TCP.
  • s.accept(): يقبل اتصال عميل TCP.

ونحن سوف اتبع الخطوات التالية:

  • إنشاء مأخذ توصيل.
  • ربط مأخذ التوصيل بمنفذ.
  • بدء قبول اتصالات على مأخذ التوصيل.

هنا هو برنامج الملقم.

الملقم جاهز الآن للاتصالات الواردة.

الآن قم بتشغيل برامج العميل والخادم في نوافذ طرفية منفصلة ، حتى يتمكنوا من التواصل مع بعضهم البعض.

إخراج الخادم

إخراج العميل

إطار تورنادو

إطار تورنادو واحدة من المكتبات المتاحة لشبكة البرمجة في بيثون. في هذا القسم، سوف تناقش هذه المكتبة وإظهار كيفية استخدامها لبناء WebSockets.

تورنادو هو إطار بيثون على شبكة الإنترنت ومكتبة الشبكات غير المتزامنة. يستخدم Tornado شبكة I / O غير المحظورة ، وبالتالي فهو قادر على التوسع إلى عشرات الآلاف من الاتصالات المفتوحة. هذه السمة تجعلها مثالية للاستطلاعات الطويلة ، ومآخذ الويب ، والتطبيقات الأخرى التي تتطلب اتصالًا طويل الأمد لكل مستخدم.

دعونا خلق ويبسوكيت تورنادو بسيطة:

في التعليمات البرمجية أعلاه:

  • علينا أن نحدد الفئة ApplicationHandler الذي يعمل كمعالج لطلب وتقوم بإرجاع استجابة باستخدام الأسلوب write() .
  • الأسلوب main هو الدخول للبرنامج.
  • إنشاء قاعدة لتطبيق ويب tornado.web.Application ويأخذ مجموعة من معالجات، أي أبليكاتيونهاندلير.
  • التطبيق يستمع على منفذ ٥٠٠٠، ويمكن الاتصال عميل لهذا التطبيق باستخدام نفس المنفذ.
  • tornado.ioloop.IOLoop.instance.()start() إنشاء مؤشر ترابط nonblocking لتطبيق.

إذا نحن بتشغيل التطبيق، سوف نحصل على النتيجة كما هو موضح في الصورة أدناه.

The results of running our application

الاستنتاج

الآن يجب أن يكون أدرك أساسيات البرمجة المقبس في Python، وكيف يمكنك بناء بسيطة من الملقم والعميل. لا تتردد في تجربة بناء الخاصة بك العميل المحادثة. للحصول على مزيد من المعلومات، قم بزيارة Python docs.

بالإضافة إلى ذلك، لا تتردد في مشاهدة ما لدينا المتاحة للبيع ودراسة السوق Envato، ولا تتردد في طرح أي أسئلة وتقديم ملاحظاتك القيمة باستخدام موجز ويب أدناه.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.