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

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

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

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

यूडीपी कमांड

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

udp help
bind
close
connect
linksecurity
open
send
Done

open निर्देश

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

bind निर्देश

सॉकेट open करने के बाद, आईपीवी6 पता और खुली सॉकेट में पोर्ट असाइन करने के लिए udp bind निर्देश चलाया जा सकता है. यह सॉकेट को बातचीत के लिए जोड़ता है. IPv6 पता और पोर्ट को असाइन करने को सॉकेट को नाम देना भी कहा जाता है. अगर सॉकेट को सीधे तौर पर 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 open
    Done
    
  2. नोड 1 पर, सॉकेट को बाइंड करें.

    udp bind :: 1234
    Done
    

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

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

udp open
   Done
   

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

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

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

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

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

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

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

यह उदाहरण पिछले उदाहरण से मिलता-जुलता है, लेकिन इसमें यूडीपी सॉकेट इस्तेमाल करने की सुविधा के बारे में बताया गया है. इस तरीके से, पहले आप सॉकेट को पीयर सॉकेट पते से कनेक्ट करते हैं, उसके बाद आपको हर बार udp send करते समय सहयोगी के आईपी पते और पोर्ट की जानकारी देने की ज़रूरत नहीं होती है.

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

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

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

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

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

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

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

    udp send hello
    Done
    

    ip और port की जानकारी नहीं देने पर, udp send कमांड, udp connect कमांड में बताए गए ip और port का इस्तेमाल करता है.