ओटी सीएलआई की मदद से यूडीपी फ़ंक्शन की जांच करें

GitHub पर सोर्स देखें

OpenThread, आपको पीयर-टू-पीयर टेस्ट करने के लिए, Thread नेटवर्क के साथ यूडीपी कमांड इस्तेमाल करता है यूडीपी सॉकेट के बीच कम्यूनिकेशन करने की सुविधा मिलती है. cli udp इसके साथ एक नमूना सॉकेट उपलब्ध कराता है जिसमें सभी udp निर्देश इंटरैक्ट करते हैं.

यहां दिए गए उदाहरण में, सॉकेट खोलने और उन्हें बाइंड करने का तरीका बताया गया है. साथ ही, सॉकेट कनेक्ट करने और UDP सॉकेट का इस्तेमाल करके मैसेज भेजने का तरीका बताता है.

UDP आदेश

udp निर्देशों की सूची के लिए, help लिखें:

udp help
bind
close
connect
linksecurity
open
send
Done

open निर्देश

यूडीपी कम्यूनिकेशन शुरू करने के लिए, udp open कमांड का इस्तेमाल करके सॉकेट खोलें. इसके बाद आपके पास सॉकेट को किसी खास आईपी पते और पोर्ट से बाइंड करने का विकल्प होता है.

bind निर्देश

सॉकेट को open करने के बाद, आईपीवी6 पता असाइन करने के लिए udp bind कमांड चलाया जा सकता है और ओपन सॉकेट के लिए एक पोर्ट हो. यह संचार के लिए सॉकेट को बाइंड कर देता है. असाइन किया जा रहा है आईपीवी6 पते और पोर्ट को सॉकेट का नाम भी कहा जाता है. अगर आप सीधे bind सॉकेट, सॉकेट (udp connect) को कनेक्ट करें या उसका इस्तेमाल करें udp send कमांड, सॉकेट को एक इफ़ेमरल पोर्ट से बाइंड कर देता है.

connect निर्देश

udp connect निर्देश का इस्तेमाल, उदाहरण के तौर पर दी गई सॉकेट को किसी मिलते-जुलते सॉकेट पते से कनेक्ट करने के लिए किया जा सकता है. इसके बाद, मिलते-जुलते ऐप्लिकेशन को मैसेज भेजने के लिए, udp send निर्देश दिया जा सकता है. अगर सॉकेट पहले से बाउंड नहीं है, udp connect आदेश जारी करने से सॉकेट भी बाइंड हो जाता है.

send निर्देश

udp send निर्देश, उदाहरण के तौर पर दी गई सॉकेट का इस्तेमाल करके डेस्टिनेशन को मैसेज भेजता है जिनके आईपी पते और यूडीपी पोर्ट को कमांड वैरिएबल की मदद से तय किया जा सकता है. अगर आईपी पता और पोर्ट udp send आदेश, उदाहरण सॉकेट का उपयोग करके संदेश भेजा जाता है उस डेस्टिनेशन पर ले जाएं जिसे udp connect निर्देश में बताया गया था. udp send निर्देश जारी करने से सॉकेट, कुछ समय के लिए इस्तेमाल किए जाने वाले पोर्ट से बाइंड हो जाता है अगर सॉकेट पहले से बाउंड नहीं है.

close निर्देश

यह सुझाव दिया जाता है कि आप सॉकेट को बंद करने के लिए udp close कमांड का इस्तेमाल करें, जब अब सॉकेट की ज़रूरत नहीं है.

linksecurity निर्देश

udp linksecurity निर्देश का इस्तेमाल, मैसेज के लिए डेटा-लिंक लेयर सुरक्षा को चालू या बंद करने के लिए किया जा सकता है.

दो नोड के बीच मैसेज भेजें

  1. नोड 1 पर, UDP सॉकेट खोलें.

    udp open
    Done
    
  2. नोड 1 पर, सॉकेट बाइंड करें.

    udp bind :: 1234
    Done
    

    :: का इस्तेमाल करने का मतलब है कि bind को किसी ऐसे आईपीवी6 पते का इस्तेमाल करना चाहिए जिसके बारे में नहीं बताया गया हो, इस तरह, UDP/IPv6 स्टैक, बाइंडिंग IPv6 पता असाइन कर देते हैं. पूरी जानकारी के लिए udp bind के साथ विकल्प, जैसे कि नेटवर्क इंटरफ़ेस से बाइंड करना, udp बाइंड देखें.

1 नोड 2 पर, UDP सॉकेट खोलें.

udp open
   Done
   

  1. नोड 2 पर, नोड 1 पर एक आसान मैसेज भेजें.

    udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 hello
    Done
    

    इस निर्देश के हिसाब से यह माना जाता है कि नोड 2 ने पहले ही नोड 1 का पता खोज लिया है. इसके अलावा, इस उदाहरण में, नोड 2 के एडमिन ने सॉकेट को बाइंड करने के लिए. ऐसा इसलिए होता है, क्योंकि नोड 2 एडमिन नोड 1 को भेजा जाने वाला मैसेज, भले ही उसके आईपी पते और पोर्ट की परवाह किए बिना नोड 2 स्रोत के रूप में काम करता है. इस स्थिति में सॉकेट किसी भी क्रम में एक आईपी पता और पोर्ट चुन लेता है.

    udp send के साथ सभी विकल्पों के लिए, इसे देखें udp send.

  2. नोड 1, नोड 2 से मैसेज मिलने की पुष्टि करता है:

    5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
    

सॉकेट को पीयर सॉकेट पते से कनेक्ट करें, फिर दो नोड के बीच मैसेज भेजें

यह उदाहरण पिछले उदाहरण जैसा है, लेकिन इसमें कुछ आसान तरीके बताए गए हैं आपके पास UDP सॉकेट का इस्तेमाल करने का विकल्प है. इस विधि के साथ, आप पहले सॉकेट को पीयर सॉकेट पता, तो आपको पीयर IP पता और पोर्ट दर्ज करने की आवश्यकता नहीं होती है हर बार udp send.

  1. नोड 1 पर, UDP सॉकेट खोलें.

    udp open
    Done
    
  2. नोड 1 पर, सॉकेट बाइंड करें.

    udp bind :: 1234
    Done
    
  3. नोड 2 पर, UDP सॉकेट खोलें.

    udp open
    Done
    
  4. नोड 2 पर, नोड 1 में कम्यूनिकेशन खोलने के लिए udp connect कमांड का इस्तेमाल करें.

    udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234
    Done
    

    udp connect के साथ सभी विकल्पों के लिए, इसे देखें udp कनेक्ट

  5. नोड 2 पर, नोड 1 को मैसेज भेजने के लिए udp send कमांड का इस्तेमाल करें, लेकिन ऐसा न करें udp send कमांड सिंटैक्स में ip और port डालें.

    udp send hello
    Done
    

    ip और port तय नहीं करके, udp send निर्देश ip और port का इस्तेमाल करता है जिन्हें udp connect निर्देश में बताया गया था.