OpenThread มีคำสั่ง TCP เพื่อใช้กับเครือข่ายเทรดเพื่อทดสอบการสื่อสารแบบเพียร์ทูเพียร์ระหว่างปลายทาง TCP cli tcp
มีปลายทาง TCP ตัวอย่าง 1 รายการและ Listener ตัวอย่าง TCP อีก 1 รายการที่คำสั่งtcp
ทั้งหมดจะโต้ตอบด้วย
ภาพรวมคำสั่งและตัวอย่างด้านล่างนี้จะให้ข้อมูลเกี่ยวกับการเริ่มต้นตัวอย่างปลายทาง TCP และ Listener TCP, วิธีเชื่อมต่อกับปลายทางเพียร์ TCP และวิธีส่งข้อความไปยังเพียร์
คำสั่ง TCP
สำหรับรายการคำสั่ง tcp
ให้พิมพ์ help
ดังนี้
tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
สำหรับคำอธิบายและชุดคำสั่งตามรูปแบบไวยากรณ์ของคำสั่งทั้งหมด โปรดดูข้อมูลอ้างอิงคำสั่ง CLI
คำสั่ง TCP จะขึ้นต้นด้วยตัวอักษรด้วย
tcp abort
คำสั่ง init
ใช้คำสั่ง tcp init
เพื่อเริ่มต้นโมดูล TCP เพื่อเริ่มการสื่อสาร TCP
จากนั้นโมดูล TCP จะใช้ฟังก์ชันต่างๆ ได้มากมาย เช่น การฟังการเชื่อมต่อขาเข้าโดยใช้ Listener ของ TCP ตัวอย่างซึ่งได้จาก tcp
CLI
หากต้องการถอดรหัส Listener ของ TCP ตัวอย่างและปลายทาง TCP ตัวอย่าง ให้ออกคำสั่ง tcp deinit
คำสั่ง bind
หากต้องการเชื่อมโยงปลายทาง TCP ตัวอย่างเมื่อคุณเริ่มต้นโมดูล TCP ให้เรียกใช้คำสั่ง tcp bind
เพื่อกำหนดที่อยู่ IPv6 และพอร์ตไปยังปลายทาง TCP
ซึ่งจะเชื่อมโยงปลายทางสำหรับการสื่อสาร การกำหนดที่อยู่และพอร์ต IPv6
เรียกอีกอย่างหนึ่งว่า "การตั้งชื่อปลายทาง"
คำสั่ง listen
หากต้องการใช้ตัวอย่าง TCP Listener เมื่อเริ่มต้นโมดูล TCP แล้ว ให้เรียกใช้คำสั่ง tcp listen
และระบุที่อยู่ IPv6 และพอร์ตการฟัง
หากต้องการหยุด Listener ของ TCP ตัวอย่างไม่ให้คอยฟังการเชื่อมต่อ TCP ขาเข้า ให้ออกคำสั่ง tcp stoplistening
คำสั่ง connect
คำสั่ง tcp connect
เชื่อมต่อตัวอย่างปลายทาง TCP กับที่อยู่ปลายทางเพียร์ TCP
คำสั่ง send
เมื่อสร้างการเชื่อมต่อระหว่าง 2 โหนดแล้ว ให้ออกคำสั่ง tcp send
เพื่อส่งข้อความไปยังเพียร์
คำสั่ง benchmark
เมื่อสร้างการเชื่อมต่อ TCP ระหว่าง 2 โหนด คุณสามารถเลือกใช้คำสั่ง benchmark
เพื่อส่งข้อมูลจำนวนมากระหว่างโหนดเพื่อทดสอบแบนด์วิดท์เครือข่ายและประสิทธิภาพได้ ระบบจะระบุจำนวนไบต์ที่ส่งในหน่วยมิลลิวินาทีและ TCP Goodput ในผลลัพธ์ของ benchmark
คำสั่ง abort
หากต้องการยุติการเชื่อมต่อ TCP โดยทันทีอย่างผิดปกติ ให้เรียกใช้คำสั่ง tcp abort
กับโหนดใดก็ได้เพื่อเปลี่ยนปลายทาง TCP เป็นสถานะปิด
คำสั่ง sendend
เมื่อโหนดหนึ่งส่งข้อมูลไปยังโหนดอื่นเสร็จแล้ว โหนดแรกจะออกคำสั่ง tcp sendend
เพื่อแจ้งเตือนโหนดที่ 2 ไม่ให้เก็บข้อมูลอีกต่อไป โหนดที่ 2 ยังส่ง tcp sendend
ไปยังโหนดแรกได้ด้วย
เมื่อแต่ละโหนดได้รับข้อความ TCP: Disconnected
การเชื่อมต่อ TCP ระหว่าง 2 โหนดจะถูกตัดออก เราขอแนะนำแต่ไม่จำเป็นต้องออกคำสั่งนี้เมื่อการโอนข้อมูลเสร็จสมบูรณ์
ส่งข้อความระหว่าง 2 โหนด
ในโหนด 1 ให้เริ่มต้นโมดูล TCP CLI จากนั้นฟังการเชื่อมต่อขาเข้าโดยใช้ Listener ตัวอย่าง TCP
tcp init
tcp listen :: 30000
การใช้
::
หมายความว่าlisten
ควรใช้ที่อยู่ IPv6 ที่ไม่ระบุ ดังนั้นสแต็ก TCP/IPv6 จะกำหนดที่อยู่ IPv6 พอร์ตคือ 30000บนโหนด 2 ให้เริ่มต้นโมดูล TCP CLI เชื่อมต่อกับโหนด 1 แล้วส่งข้อความง่ายๆ
tcp init
tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
tcp send hello
การยืนยัน
จากขั้นตอนตัวอย่างที่แสดงด้านบน ผลลัพธ์ควรเป็นดังนี้
- หลังจากโหนด 2 เรียกใช้คำสั่ง
tcp connect
โหนด 2 จะได้รับข้อความTCP: Connection established
- จากนั้นโหนด 1 ควรได้รับข้อความ (เช่น ที่อยู่ IPv6 และพอร์ต)
Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
TCP: Connection established
- หลังจากโหนด 2 เรียกใช้คำสั่ง
tcp send
โหนด 1 จะได้รับข้อความTCP: Received 5 bytes: hello