الاطّلاع على المصدر على GitHub
تقدم OpenThread أوامر UDP لاستخدامها مع شبكة Thread لاختبار شبكة الند للند
الاتصال بين مقابس UDP. يوفر cli udp
مقبسًا واحدًا للعينة
التي تتفاعل بها جميع أوامر udp
.
توضح الأمثلة التالية كيفية فتح المقابس وربطها وكيفية وتوصيل المقبس وكيفية إرسال الرسائل باستخدام مقابس UDP.
أوامر UDP
للحصول على قائمة بأوامر udp
، اكتب help
:
udp help
bind
close
connect
linksecurity
open
send
Done
طلب واحد (open
)
استخدِم الأمر udp open
لفتح المقبس لبدء اتصال UDP.
سيكون لديك خيار ربط المقبس بعنوان IP ومنفذ محدّدَين.
طلب واحد (bind
)
بعد open
المقبس، يمكنك تشغيل الأمر udp bind
لتحديد عنوان IPv6.
ومنفذ إلى المقبس المفتوح. هذا يربط المقبس للاتصال. يتيح تعيين
يشار أيضًا إلى عنوان ومنفذ IPv6 باسم المقبس. إذا لم تقم بشكل
bind
المقبس أو توصيل المقبس (udp connect
) أو استخدامه فيه
يربط الأمر udp send
المقبس بمنفذ مؤقت.
طلب واحد (connect
)
يمكن استخدام الأمر udp connect
لربط مثال مقبس بعنوان مقبس على شبكة نظيرة.
ويمكنك بعد ذلك إصدار أمر udp send
لإرسال رسالة إلى التطبيقات المشابهة. إذا كان المقبس
غير مرتبط من قبل، ويؤدي إصدار الأمر udp connect
إلى ربط المقبس أيضًا.
طلب واحد (send
)
يرسل الأمر udp send
رسالة باستخدام مثال المقبس إلى وجهة
يمكن تحديد عنوان IP ومنفذ UDP الخاص به باستخدام متغيرات الأوامر.
إذا لم يتم تحديد عنوان IP والمنفذ في ملف
udp send
، يتم إرسال الرسالة باستخدام مثال المقبس
إلى الوجهة التي تم تحديدها في الأمر udp connect
.
يؤدي إصدار الأمر udp send
إلى ربط المقبس بمنفذ مؤقت
إذا لم يكن المقبس مرتبطًا بالفعل.
طلب واحد (close
)
يُنصح باستخدام الأمر udp close
لإغلاق المقبس عندما
لم تعد هناك حاجة إلى المقبس.
طلب واحد (linksecurity
)
يمكن استخدام الأمر udp linksecurity
لتفعيل أمان طبقة ارتباط البيانات أو إيقافه للرسائل.
إرسال رسالة بين نقطتين
في العقدة 1، افتح مقبس UDP.
udp open
Doneاربط المقبس في العقدة 1.
udp bind :: 1234
Doneيشير استخدام
::
إلى أنّbind
يجب أن يستخدم عنوان IPv6 غير محدّد، وبالتالي، يعيّن مكدس UDP/IPv6 عنوان IPv6 للربط. لإكمال الخيارات معudp bind
، مثل الربط بواجهة شبكة، يمكنك الرجوع إلى ربط udp.
1 في العقدة 2، افتح مقبس بروتوكول UDP.
udp open
Done
في العقدة 2، أرسل رسالة بسيطة إلى العقدة 1.
udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 hello
Doneيفترض هذا الأمر أن العقدة 2 قد اكتشفت عنوان العقدة 1 بالفعل. بالإضافة إلى ذلك، في هذا المثال، اختار مشرف العقدة 2 عدم واربط المقبس. وذلك لأن مشرف العقدة 2 يريد إرسال رسالة إلى العقدة 1 دون مراعاة أي من عناوين IP والمنافذ الخاصة بها يتم استخدامها كمصدر للعقدة 2. يختار المقبس عنوان IP والمنفذ بشكل عشوائي في هذه الحالة.
للاطّلاع على الخيارات الكاملة مع "
udp send
"، يُرجى الرجوع إلى إرسال udp.تؤكد العقدة 1 على استلام الرسالة من العقدة 2:
5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
توصيل المقبس بعنوان المقبس النظير، ثم إرسال رسالة بين عقدتين
هذا المثال مشابه للمثال السابق، ولكنه يوضح بعض المرونة
التي تستخدمها في استخدام مقابس UDP. بهذه الطريقة، يمكنك أولاً توصيل المقبس
عنوان مقبس النظير، فلن تحتاج إلى تحديد عنوان IP للنظير والمنفذ
في كل مرة تمارس فيها udp send
.
في العقدة 1، افتح مقبس UDP.
udp open
Doneاربط المقبس في العقدة 1.
udp bind :: 1234
Doneفي العقدة 2، افتح مقبس UDP.
udp open
Doneفي العقدة 2، استخدِم الأمر
udp connect
لفتح الاتصال بالعُقدة 1.udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234
Doneللاطّلاع على الخيارات الكاملة مع "
udp connect
"، يُرجى الرجوع إلى اتصال udpفي العقدة 2، يمكنك استخدام الأمر
udp send
لإرسال رسالة إلى العقدة 1، ولكن لا تفعل تحديدip
وport
في بنية الأمرudp send
.udp send hello
Doneإذا لم يتم تحديد
ip
وport
، سيستخدم الأمرudp send
كلاً منip
وport
. التي تم تحديدها في الأمرudp connect
.