OpenThread udostępnia polecenia TCP do użycia w sieci Thread do testowania komunikacji peer-to-peer między punktami końcowymi TCP. cli tcp
udostępnia 1 przykładowy punkt końcowy TCP i 1 przykładowy detektor TCP, z którymi komunikują się wszystkie polecenia tcp
.
Omówienie poleceń i poniższy przykład zawierają informacje na temat inicjowania przykładowego punktu końcowego TCP i detektora TCP, nawiązywania połączenia z równorzędnym punktem końcowym TCP oraz wysyłania wiadomości do tego połączenia.
Polecenia TCP
Aby wyświetlić listę poleceń tcp
, wpisz help
:
tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Opisy i składni wszystkich poleceń znajdziesz w dokumentacji poleceń interfejsu wiersza poleceń.
Polecenia TCP zaczynają się alfabetycznie od tekstu tcp abort.
Polecenie init
Zainicjuj moduł TCP za pomocą polecenia tcp init
i rozpocznij komunikację TCP.
Moduł TCP może wtedy wykonywać wiele funkcji, takich jak nasłuchiwanie połączeń przychodzących za pomocą przykładowego detektora TCP z interfejsu wiersza poleceń tcp
.
Aby zdeinicjować przykładowy detektor TCP i przykładowy punkt końcowy TCP, uruchom polecenie tcp deinit
.
Polecenie bind
Aby powiązać przykładowy punkt końcowy TCP po zainicjowaniu modułu TCP, uruchom polecenie tcp bind
, aby przypisać adres IPv6 i port do punktu końcowego TCP.
Łączy to punkt końcowy na potrzeby komunikacji. Przypisanie adresu i portu IPv6 jest też nazywane „nadawaniem nazwy punktu końcowego”.
Polecenie listen
Aby użyć przykładowego detektora TCP po zainicjowaniu modułu TCP, uruchom polecenie tcp listen
i podaj adres IPv6 oraz port nasłuchujący.
Aby zatrzymać nasłuchiwanie przychodzących połączeń TCP przez przykładowy detektor TCP, uruchom polecenie tcp stoplistening
.
Polecenie connect
Polecenie tcp connect
łączy przykładowy punkt końcowy TCP z adresem punktu końcowego TCP równorzędnego punktu końcowego.
Polecenie send
Po nawiązaniu połączenia między 2 węzłami uruchom polecenie tcp send
, aby wysłać wiadomość do peera.
Polecenia benchmark
Po nawiązaniu połączenia TCP między 2 węzłami możesz opcjonalnie użyć poleceń benchmark
do wysyłania dużych ilości danych między węzłami w celu przetestowania przepustowości sieci i wydajności. Liczba przesłanych bajtów w milisekundach oraz moduł TCP Goodput zostanie podany w wynikach benchmark
.
Polecenie abort
Aby natychmiast i bezceremonialnie zakończyć połączenie TCP, uruchom polecenie tcp abort
w dowolnym węźle w celu przeniesienia punktu końcowego TCP w stan zamknięty.
Polecenie sendend
Gdy jeden węzeł wysyła dane do innego, pierwszy węzeł może wysłać polecenie tcp sendend
, aby poinformować drugi węzeł, że nie oczekuje już danych. Drugi węzeł też może wysłać żądanie tcp sendend
do pierwszego węzła.
Gdy każdy węzeł otrzyma komunikat TCP: Disconnected
, połączenie TCP między 2 węzłami zostanie zerwane. Jest to zalecane, ale nie jest wymagane, aby wykonać to polecenie po zakończeniu transferu danych.
Wyślij wiadomość między 2 węzłami
W węźle 1 zainicjuj moduł wiersza poleceń TCP, a następnie nasłuchuj połączeń przychodzących za pomocą przykładowego detektora TCP.
tcp init
tcp listen :: 30000
Zastosowanie
::
oznacza, żelisten
powinien używać nieokreślonego adresu IPv6, ponieważ to właśnie na stosie TCP/IPv6 przypisany jest adres IPv6. numer portu to 30 000.W węźle 2 zainicjuj moduł wiersza poleceń TCP, połącz się z węzłem 1, a następnie wyślij prosty komunikat.
tcp init
tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
tcp send hello
Weryfikacja
Po uwzględnieniu podanych wyżej przykładowych kroków powinny pojawić się następujące wyniki:
- Po uruchomieniu polecenia
tcp connect
węzeł 2 powinien otrzymać komunikatTCP: Connection established
. - Węzeł 1 powinien wtedy odbierać komunikaty (z przykładowym adresem IPv6 i portem):
Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
TCP: Connection established
- Po uruchomieniu polecenia
tcp send
węzeł 1 powinien otrzymać komunikatTCP: Received 5 bytes: hello