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