اكتشف ببساطة
Simpdiscover عبارة عن صندوق بسيط لتسهيل اكتشاف الخدمات داخل شبكة المنطقة المحلية (LAN) باستخدام مخططات بيانات البث UDP أو "الإشارات".
يمكن أن يكون "المعلن" عن الخدمة عبارة عن عملية على أجهزة أخرى، أو خيوط أو عملية أخرى على نفس الجهاز.
الأهداف
- اكتشاف واسع النطاق لشبكة LAN للخدمات المسماة وعنوان IP الموجود عليها
- سهلة الفهم والاستخدام
- اعتماديات صغيرة وقليلة على المكتبة ومساحة صغيرة للذاكرة ووحدة المعالجة المركزية
- تنسيق إشارة بسيط وسهل الاستخدام ولا يقدم دعمًا محددًا لتنسيق ملف في المكتبة
غير الأهداف
- اكتشاف الخدمات عبر الشبكات المحلية (LAN) أو الشبكات الواسعة (WAN) أو الويب أو في السحابة.
تم تنفيذها حتى الآن
- بنية BeaconSender التي يمكن إعدادها لإرسال إشارات:
- مع سلسلة محتوى منارة محددة
- على منفذ معين
- مع طرق ل:
- إرسال إلى الأبد في حلقة في فترة زمنية معينة
- إرسال منارة واحدة فقط
- بنية BeaconListener البسيطة التي يمكن إعدادها لاستقبال الإشارات:
- مطابقة محتويات رسالة محددة
- بطريقة تمنع المرسل وتنتظر حتى يتم استلام الرسالة
- مع قيمة مهلة اختيارية للانتظار أو لا شيء للانتظار إلى أجل غير مسمى
- ثنائيات "الإعلان" و"الاستماع" البسيطة التي تستخدم المكتبة كأمثلة
- بعض اختبارات المستندات للحفاظ على صحة مستندات واجهة برمجة التطبيقات
- إجراء Github للبناء ثم التحقق من القصاصات ثم اختبار الكل
"الإعلان" ثنائي
قم بتشغيل هذا الثنائي من الريبو باستخدام cargo run --bin announce
أو announce
فقط عما إذا كنت قد قمت بتثبيت الصندوق مع البضائع.
يتطلب الأمر معلمة سطر أوامر اختيارية لتحديد السلسلة التي ستعلن عنها رسالة المنارة: cargo run --bin announce -- Hello
"الاستماع" ثنائي
قم بتشغيل هذا الثنائي من الريبو باستخدام cargo run --bin listen
أو listen
فقط إذا كنت قد قمت بتثبيت الصندوق مع البضائع.
يتطلب الأمر معلمة سطر أوامر اختيارية لتحديد السلسلة التي ستنتظرها رسالة الإشارة التنبيهية قبل الخروج: cargo run --bin listen -- Hello
العمل المستقبلي
لقد قمت بتدوين معظم ملاحظاتي حول العمل المستقبلي وقمت بتحويلها إلى إصدارات GitHub.
بعضها مجرد أسئلة حول أشياء لا أفهمها وأحب الخبراء في UDP والصدأ أن يشرحوها لي.
يرجى التعليق أو البدء بأي شيء ترغب في تنفيذه.
من الواضح أن العلاقات العامة مرحب بها، إذا كانت مصحوبة ببعض تعليقات المستند أو اختبارات المستند أو الاختبارات.
المطورين
- استنساخ/تفرع الريبو وتنزيله:
-
cd
في الدليل - أضف تغييرات، وأضف تعليقات المستند و/أو اختبارات واختبارات المستند.
-
cargo build
-
cargo test
-
cargo clippy -- -D warnings
- إنشاء العلاقات العامة
- سيتم تنفيذ إجراءات Github بنفس الخطوات المذكورة أعلاه
- سأقوم بمراجعة ودمج