OT CLI দিয়ে UDP কার্যকারিতা পরীক্ষা করুন

GitHub-এ উৎস দেখুন

OpenThread UDP সকেটের মধ্যে পিয়ার-টু-পিয়ার যোগাযোগ পরীক্ষা করার জন্য একটি থ্রেড নেটওয়ার্কের সাথে ব্যবহারের জন্য UDP কমান্ড অফার করে। cli udp একটি নমুনা সকেট প্রদান করে যার সাথে সমস্ত udp কমান্ড ইন্টারঅ্যাক্ট করে।

অনুসরণ করা উদাহরণগুলি দেখায় যে আপনি কীভাবে সকেট খুলতে এবং বাঁধতে পারেন, কীভাবে সকেট সংযোগ করতে হয় এবং কীভাবে UDP সকেট ব্যবহার করে বার্তা পাঠাতে হয়।

UDP কমান্ড

udp কমান্ডের তালিকার জন্য, help টাইপ করুন :

udp help
bind
close
connect
linksecurity
open
send
Done

কমান্ড open

UDP যোগাযোগ শুরু করতে সকেট খুলতে udp open কমান্ড ব্যবহার করুন। তারপরে আপনার কাছে সকেটটিকে একটি নির্দিষ্ট আইপি ঠিকানা এবং পোর্টে আবদ্ধ করার বিকল্প রয়েছে।

bind আদেশ

আপনি সকেট open পরে, আপনি খোলা সকেটে একটি IPv6 ঠিকানা এবং একটি পোর্ট বরাদ্দ করতে একটি udp bind কমান্ড চালাতে পারেন। এটি যোগাযোগের জন্য সকেটকে আবদ্ধ করে। IPv6 ঠিকানা এবং পোর্ট বরাদ্দ করাকে সকেটের নামকরণ হিসাবেও উল্লেখ করা হয়। আপনি যদি সকেটটিকে সরাসরি bind না করেন, তাহলে সকেটের সাথে সংযোগ করা ( udp connect ) বা এটিকে একটি udp send কমান্ডে ব্যবহার করলে সকেটটিকে একটি ক্ষণস্থায়ী পোর্টে আবদ্ধ করে।

connect কমান্ড

একটি পিয়ার সকেট ঠিকানার সাথে উদাহরণ সকেট সংযোগ করতে একটি udp connect কমান্ড ব্যবহার করা যেতে পারে। তারপর আপনি পিয়ারকে একটি বার্তা পাঠাতে একটি udp send কমান্ড ইস্যু করতে পারেন। যদি সকেট ইতিমধ্যেই আবদ্ধ না থাকে, তাহলে udp connect কমান্ড জারি করা সকেটকেও আবদ্ধ করে।

কমান্ড send

একটি udp send কমান্ড একটি গন্তব্যে উদাহরণ সকেট ব্যবহার করে একটি বার্তা পাঠায় যার IP ঠিকানা এবং UDP পোর্ট কমান্ড ভেরিয়েবলের সাথে নির্দিষ্ট করা যেতে পারে। যদি udp send কমান্ডে IP ঠিকানা এবং পোর্ট নির্দিষ্ট করা না থাকে, তাহলে বার্তাটি উদাহরণ সকেট ব্যবহার করে গন্তব্যে পাঠানো হবে যা udp connect কমান্ডে নির্দিষ্ট করা হয়েছে। udp send কমান্ড ইস্যু করা সকেটটিকে একটি ক্ষণস্থায়ী পোর্টে আবদ্ধ করে যদি সকেটটি ইতিমধ্যে আবদ্ধ না থাকে।

আদেশ close

যখন সকেটের আর প্রয়োজন হয় না তখন সকেট বন্ধ করতে আপনি udp close কমান্ড ব্যবহার করার পরামর্শ দেওয়া হয়।

linksecurity কমান্ড

udp linksecurity কমান্ডটি বার্তাগুলির জন্য ডেটা-লিঙ্ক স্তর সুরক্ষা সক্ষম বা নিষ্ক্রিয় করতে ব্যবহার করা যেতে পারে।

দুটি নোডের মধ্যে একটি বার্তা পাঠান

  1. নোড 1 এ, UDP সকেট খুলুন।

    udp open
    Done
    
  2. নোড 1 এ, সকেট বাঁধুন।

    udp bind :: 1234
    Done
    

    :: এর ব্যবহার বোঝায় যে bind অনির্দিষ্ট IPv6 ঠিকানা ব্যবহার করা উচিত, যার ফলে UDP/IPv6 স্ট্যাক বাইন্ডিং IPv6 ঠিকানা বরাদ্দ করে। udp bind সহ সম্পূর্ণ বিকল্পের জন্য, যেমন একটি নেটওয়ার্ক ইন্টারফেসের সাথে বাইন্ডিং, udp bind পড়ুন।

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 উত্স হিসাবে ব্যবহৃত হয় তা বিবেচনা না করে। এই পরিস্থিতিতে সকেট এলোমেলোভাবে একটি IP ঠিকানা এবং পোর্ট বেছে নেয়।

    udp send সহ সম্পূর্ণ বিকল্পের জন্য, udp send পড়ুন।

  2. নোড 1 নোড 2 থেকে বার্তার প্রাপ্তি নিশ্চিত করে:

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

সকেটটিকে পিয়ার সকেট ঠিকানায় সংযুক্ত করুন, তারপর দুটি নোডের মধ্যে একটি বার্তা পাঠান

এই উদাহরণটি আগেরটির মতই, কিন্তু ইউডিপি সকেট ব্যবহার করার ক্ষেত্রে আপনার কিছু নমনীয়তা প্রদর্শন করে। এই পদ্ধতির সাহায্যে, আপনি প্রথমে সকেটটিকে পিয়ার সকেট ঠিকানার সাথে সংযুক্ত করেন, তারপর প্রতিবার 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 সহ সম্পূর্ণ বিকল্পের জন্য, ইউডিপি কানেক্ট পড়ুন

  5. নোড 2-এ, নোড 1-এ একটি বার্তা পাঠাতে udp send কমান্ডটি ব্যবহার করুন, তবে udp send কমান্ড সিনট্যাক্সে ip এবং port নির্দিষ্ট করবেন না।

    udp send hello
    Done
    

    ip এবং port নির্দিষ্ট না করে, udp send কমান্ডটি ip এবং port ব্যবহার করে যা udp connect কমান্ডে উল্লেখ করা হয়েছে।