الخوارزم.اتصالات.شبكة

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

نوع عنوان_شبكة شيء

الخصائص:

  • مضيف:
    عنوان للمضيف ، تم ترميزه في ترتيب بايت الشبكة.
  • منفذ:
    رقم منفذ لمقبس ، تم ترميزه في ترتيب بايت الشبكة.
    يحتوي هذا النوع على المعلومات المستخدمة لتشكيل اتصالات الشبكة ومقابس التوصيل.

نوع مقبس_متصل

هذا هو النوع المبهم يستخدم للاتصالات المرتبطة (TCP). هذا مؤشر ، وبالتالي يمكن أن يكون عديم في بعض الأحيان. سيشير كونه = عدم إلى أنه لم يتم إنشاء مأخذ توصيل.

نوع مجموعة_مقبس

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

نوع مقبس_شامل

الخصائص:

  • جاهز
    غير منعدم عندما تكون البيانات جاهزة للقراءة ، أو يكون مأخذ توصيل الخادم جاهزًا للقبول.

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

دالة تخصيص_مجموعة_مقابس(اقصى_عدد_للمقابس صحيح) مجموعة_مقبس

المنطلقات:

  • اقصى_عدد_للمقابس: أقصى عدد من المقابس التي ستحتاج إلى مراقبتها.

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

دالة اضافة_مقبس(مجموعة_مقبس_ مجموعة_مقبس، مقبس_متصل_ مقبس_متصل) صحيح

المنطلقات:

  • مجموعة_مقبس_ : المجموعة التي يتم اضافة المقبس اليها
  • مقبس_متصل_ : المقبس المراد اضافته إلى مجموعة المقابس

تضيف هذه الدالة مقبسًا إلى مجموعة المقابس التي ستتم مراقبتها. يمكن إضافة كل من المقابس المرتبطة و الغير المرتبطة إلى نفس مجموعة المقابس. قد يكون جميع العملاء والخوادم في نفس مجموعة المقابس. لا يوجد أي قيود على المقابس في مجموعة المقابس ، بخلاف تلك التي تم فتحها. الارجاع : عدد المقابس المستخدمة في المجموعة عند نجاح استعمال الدالة. يتم إرجاع -1 عند وجود أخطاء.

دالة حذف_مقبس(مجموعة_مقبس_ مجموعة_مقبس، مقبس_متصل_ مقبس_متصل) صحيح

المنطلقات:

  • مجموعة_مقبس_ : المجموعة التي يتم حذف المقبس منها
  • مقبس_متصل_ : المقبس المراد حذفه من مجموعة المقابس

تقوم الدالة بإزالة المقبس من مجموعة المقابس. استخدم هذه الدالة قبل إغلاق المقبس الذي تراقبه من مجموعة المقابس. هذا لا يغلق المقبس. قم باستدعاء الدالة المناسبة لاغلاق المقابس . الارجاع : عدد المقابس المستخدمة في المجموعة عند نجاح استعمال الدالة. يتم إرجاع -1 عند وجود أخطاء.

دالة تحقق_من_المقابس(مجموعة_مقبس_ مجموعة_مقبس،مهلة صحيح32 طبيعي)

المنطلقات:

  • مجموعة_مقبس_ : مجموعة المقابس للتحقق
  • مهلة : مقدار الوقت (بالجزء من الاف من الثانية). 0 يعني عدم الانتظار.

هذه الدالة تتحقق من جميع المقابس في مجموعة المقابس لفعالية معينة . إذا تم إعطاء مهلة غير منعدمة ، فستنتظر هذه الدالة نهاية الفعالية ، وإلا فسوف تنتظر المهلة مهلة.

دالة حرر_المقابس(مجموعة_مقبس_ مجموعة_مقبس)

المنطلقات:

  • مجموعة_مقبس_ : مجموعة المقابس المراد تحريرها من الذاكرة

تحرير مجموعة المقابس من الذاكرة. لا يمكن الاشارة الى هذه المجموعة بعد استدعاء هذه الدالة ، الا بعد تخصيص مجموعة جديدة

دالة افتح_مقبس( عنوان ۢعنوان_شبكة) مقبس_متصل

المنطلقات:

  • عنوان : يشير هذا إلى عنوان عنوان الشبكة الذي يحتوي على عنوان IP الذي تم حله ورقم المنفذ المراد استخدامه. تقوم هذه الدالة بالاتصال بالمضيف والمنفذ المتضمنين للاتصال المرتبط (TCP). إذا كان المضيف هو ايما_عنوان ، عندئذٍ يتم استخدام رقم المنفذ فقط ، ويمكن إنشاء مقبس متصل ، والذي يمكن استخدامه لقبول اتصالات (TCP) الواردة لاحقًا.

الارجاع : مقبس_متصل صالح للاستعمال عند النجاح ، مما يشير إلى أنه تم إنشاء اتصال ناجح ، أو تم إنشاء مقبس صالح لقبول اتصالات TCP الواردة. لربط الاتصال عبر المنفذ و/أو العنوان.

دالة قبول_مقبس(خادم مقبس_متصل) مقبس_متصل

المنطلقات:

  • خادم : هذا هو الخادم مقبس_متصل الذي تم إنشاؤه مسبقًا بواسطة افتح_مقبس_متصل. قبول اتصال وارد على الخادم خادم. لا تستخدم هذه الدالة على مقبس تم ربطه من قبل. لا يتم توصيل مقبس الخادم مطلقًا بمضيف بعيد. ما سترجعه الدالة هو مقبس_متصل جديد متصل بالمضيف البعيد. هذه مكالمة غير انتظارية ، لذلك إذا لم تكن هناك اتصالات مقبولة في الانتظار ، فستحصل على مقبس_متصل منعدم وسيستمر البرنامج في العمل.

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

دالة حصل_عنوان_النظير( مقبس_متصل_ مقبس_متصل) ۢعنوان_شبكة

المنطلقات :

  • مقبس_متصل_ : هذا مقبس متصل صالح.

هذه الدالة تمكنك من الحصول على ۢعنوان_شبكة النظير (الجانب الآخر من الاتصال ، والجانب البعيد ، وليس الجانب المحلي) ورقم المنفذ.

الارجاع : يتم إرجاع عنوان ۢعنوان_شبكة. و عدم عند حصول خطأ، أو عندما يكون المقبس هو مقبس الخادم.

دالة ارسال( مقبس_متصل_ مقبس_متصل، معلومات_ ايما، طول_ صحيح) صحيح

المنطلقات :

  • مقبس_متصل_ : هذا مقبس متصل صالح.
  • معلومات_ : هذا مؤشر إلى بيانات المراد ارسالها عبر المقبس المتصل .
  • طول_ : هذا هو طول البيانات بالوحدة الثمانية (بالبايت)

هذه الدالة تمكنك منإرسال البيانات معلومات_ ذات الطول طول_ على المقبس مقبس_متصل_ . هذه الدالة لا تستخدم بمقبس الخادم.

الارجاع : عدد البايتات المرسلة طول_. إذا كان الرقم الذي تم إرجاعه أقل من ذلك ، فسيكون خطأً ، كمثل قطع اتصال العميل.

دالة تلقي( مقبس_متصل_ مقبس_متصل، معلومات_ ايما، اكبر_طول_ صحيح) صحيح

المنطلقات :

  • مقبس_متصل_ : هذا مقبس متصل صالح.
  • معلومات_ : هذا مؤشر إلى بيانات المراد استقبالها عبر المقبس المتصل . اكبر_طول_ : هذا هو طول البيانات بالوحدة الثمانية (بالبايت)

هذه الدالة تمكنك من تلقي البيانات معلومات_ ذات الطول اكبر_طول_ على المقبس مقبس_متصل_ بشكل منتصل . هذه الدالة لا تستخدم بمقبس الخادم.

الارجاع : ععدد البايتات المستقبلة . إذا كان الرقم الذي تم إرجاعه أقل من الصفر ، فقد حدث خطآ ، كمثل قطع اتصال العميل.

دالة اغلاق(مقبس_متصل_ مقبس_متصل)

المنطلقات :

  • مقبس_متصل_ : هذا مقبس متصل صالح. يمكن أن يكون هذا المقبس من نوع العميل او الخادم.

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

دالة حل_المضيف(عش ۢعنوان_شبكة، مضيف ۢحرف، منفذ صحيح16) صحيح32

المنطلقات :

  • عش : يشير إلى العنوان الذي سيتم تعبئته. لا يلزم تخصيصه قبل استعمال هذه الدالة ولكن يجب كحد ادنى تخصيص الذاكرة له.
  • مضيف : للاتصال بالخادم ، هذا هو اسم المضيف أو عنوانه (IP) في سلسلة. . لكي يصبح التطبيق خادمًا ، يكون هذا المنطلق منعدما . إذا كنت تستخدم عدم، فسيتم الاستماع إلى جميع واجهات الشبكة من أجل الاتصالات الواردة ، وذلك باستخدام ايما_عنوان. للاتصال بالخادم ،
  • منفذ : هذا هو رقم منفذ الاستماع للخوادم. ولكي يصبح التطبيق خادمًا ، فهذا هو المنفذ للاستماع إليه. اذا كنت تقوم فقط ب "تحليل اسم المجال" ، يمكن أن يكون هذا 0.

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

دالة حل_العنوان(عش عنوان_شبكة_) ۢ حرف

المنطلقات :

  • عنوان : العنوان عنوان يشير إلى عنوان IP الذي سيتم حله لاسم المضيف. يتم تجاهل عنوان->منفذ.

تقوم بحل العنوان الرقمي عنوان->مضيف ، وإرجاع اسم المضيف كسلسلة.

إرجاع: مؤشر حرف صالح (سلسلة) عند النجاح. سيكون اسم المضيف الذي تم إرجاعه مضيفًا ومجالًا ، كما في "مضيف.مجال.تمديد". و إرجاع عدمعند وجود خطأ.

دالة تهيأة_التواصل()صحيح32

تقوم بتهيئة واجهة برمجة تطبيقات الشبكة. يجب أن يتم استدعاء هذا قبل استخدام دوال أخرى في هذه المكتبة.

الارجاع : 0 عند النجاح ، -1 في حالة الخطأ.

دالة نهاية_التواصل() صحيح32

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