OpenThread cung cấp các lệnh TCP để sử dụng với mạng Thread nhằm kiểm thử hoạt động giao tiếp ngang hàng giữa các điểm cuối TCP. cli tcp
cung cấp một điểm cuối TCP mẫu và một trình nghe TCP mẫu mà tất cả các lệnh tcp
đều tương tác.
Tổng quan về lệnh và ví dụ tiếp theo cung cấp thông tin về cách khởi chạy điểm cuối TCP và trình nghe TCP mẫu, cách kết nối với điểm cuối TCP ngang hàng và cách gửi thông báo cho ứng dụng ngang hàng.
Lệnh TCP
Để xem danh sách các lệnh tcp
, hãy nhập help
:
tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Để biết nội dung mô tả và cú pháp của tất cả các lệnh, hãy tham khảo Tham chiếu lệnh CLI.
Các lệnh TCP bắt đầu theo thứ tự bảng chữ cái với huỷ tcp.
Lệnh init
Dùng lệnh tcp init
để khởi chạy mô-đun TCP nhằm bắt đầu giao tiếp TCP.
Sau đó, mô-đun TCP có thể thực hiện nhiều chức năng, chẳng hạn như theo dõi các kết nối đến bằng trình nghe TCP mẫu do CLI tcp
cung cấp.
Để huỷ khởi động trình nghe TCP mẫu và điểm cuối TCP mẫu, hãy phát lệnh tcp deinit
.
Lệnh bind
Để liên kết điểm cuối TCP mẫu sau khi bạn khởi chạy mô-đun TCP,
hãy chạy lệnh tcp bind
để chỉ định địa chỉ IPv6 và một cổng cho điểm cuối TCP.
Phương thức này sẽ liên kết với điểm cuối để giao tiếp. Việc chỉ định địa chỉ và cổng IPv6 cũng được gọi là "đặt tên cho điểm cuối".
Lệnh listen
Để sử dụng trình nghe TCP mẫu sau khi bạn khởi chạy mô-đun TCP, hãy chạy lệnh tcp listen
, đồng thời chỉ định địa chỉ IPv6 và cổng nghe.
Để ngăn trình nghe TCP mẫu theo dõi các kết nối TCP đến, hãy phát lệnh tcp stoplistening
.
Lệnh connect
Lệnh tcp connect
kết nối điểm cuối TCP mẫu với địa chỉ điểm cuối TCP ngang hàng.
Lệnh send
Sau khi thiết lập kết nối giữa hai nút, hãy phát lệnh tcp send
để gửi thông báo cho ứng dụng ngang hàng.
Lệnh benchmark
Sau khi thiết lập kết nối TCP giữa hai nút, bạn có thể tuỳ ý sử dụng các lệnh benchmark
để gửi một lượng lớn dữ liệu giữa các nút nhằm kiểm tra băng thông và hiệu suất mạng. Số lượng byte được truyền tính bằng mili giây cũng như lưu lượng dữ liệu TCP sẽ được cung cấp trong kết quả benchmark
.
Lệnh abort
Để kết thúc kết nối TCP ngay lập tức và không liên quan, hãy chạy lệnh tcp abort
trên một trong hai nút để chuyển đổi điểm cuối TCP sang trạng thái đóng.
Lệnh sendend
Khi một nút gửi xong dữ liệu đến nút khác, nút đầu tiên có thể đưa ra lệnh tcp sendend
để cảnh báo nút thứ hai không nhận dữ liệu nữa. Nút thứ hai cũng có thể gửi một tcp sendend
đến nút đầu tiên.
Sau khi mỗi nút nhận được thông báo TCP: Disconnected
, kết nối TCP giữa hai nút sẽ bị huỷ bỏ. Bạn nên nhưng không bắt buộc phải phát lệnh này khi quá trình chuyển dữ liệu hoàn tất.
Gửi tin nhắn giữa hai nút
Trên nút 1, hãy khởi chạy mô-đun CLI TCP, sau đó theo dõi các kết nối đến bằng trình nghe TCP mẫu.
tcp init
tcp listen :: 30000
Việc sử dụng
::
biểu thị rằnglisten
nên sử dụng địa chỉ IPv6 chưa chỉ định, do đó, ngăn xếp TCP/IPv6 chỉ định địa chỉ IPv6. Cổng là 30000.Trên Nút 2, hãy khởi chạy mô-đun CLI TCP, kết nối với nút 1, sau đó gửi một thông báo đơn giản.
tcp init
tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
tcp send hello
Xác minh
Dựa vào các bước ví dụ nêu trên, kết quả như sau dự kiến:
- Sau khi Nút 2 chạy lệnh
tcp connect
, Nút 2 sẽ nhận được thông báoTCP: Connection established
. - Sau đó, nút 1 sẽ nhận được thông báo (ví dụ: địa chỉ và cổng IPv6):
Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
TCP: Connection established
- Sau khi Nút 2 chạy lệnh
tcp send
, Nút 1 sẽ nhận được thông báoTCP: Received 5 bytes: hello