OpenThread udostępnia polecenia TCP do testowania połączeń peer-to-peer w sieci Thread
komunikacji między punktami końcowymi TCP. cli tcp
udostępnia 1 przykładowy port TCP
i 1 przykładowy detektor TCP, z którym współdziałają wszystkie polecenia tcp
.
Opisy poleceń i przykład poniżej zawierają informacje na temat inicjowania przykładowy punkt końcowy TCP i detektor TCP, jak nawiązać połączenie z punktem końcowym TCP peera, i jak wysłać wiadomość do peera.
Polecenia TCP
Aby zobaczyć listę poleceń tcp
, wpisz help
:
tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Polecenie init
Użyj polecenia tcp init
, aby zainicjować moduł TCP i rozpocząć komunikację TCP.
Moduł TCP może następnie wykonywać wiele funkcji, takich jak nasłuchiwanie przychodzących
połączeń za pomocą przykładowego detektora TCP dostarczonego w interfejsie wiersza poleceń tcp
.
Aby deinicjować 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. Przypisuję adres IPv6 i port
jest też nazywane „nazwą 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łuchiwania.
Aby zatrzymać przykładowy detektor TCP nasłuchiwania przychodzących połączeń TCP:
uruchom polecenie tcp stoplistening
.
Polecenie connect
Polecenie tcp connect
łączy przykładowy punkt końcowy TCP z adresem punktu końcowego TCP połączenia równorzędnego.
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ć
Polecenia benchmark
do wysyłania dużych ilości danych między węzłami w celu przetestowania
przepustowości i wydajności sieci. Liczba przesłanych bajtów w milisekundach
oraz protokół TCP Goodput będą widoczne w wynikach benchmark
.
Polecenie abort
Aby natychmiast i nieoczekiwanie zakończyć połączenie TCP, uruchom tcp abort
w dowolnym węźle, aby przełączyć punkt końcowy TCP w stan zamknięty.
Polecenie sendend
Gdy jeden węzeł zakończy wysyłanie danych do drugiego, pierwszy węzeł może
uruchom polecenie tcp sendend
, aby zaalarmować drugi węzeł, aby przestał się spodziewać
i skalowalnych danych. Drugi węzeł może też wysłać tcp sendend
do pierwszego.
Gdy każdy węzeł otrzyma komunikat TCP: Disconnected
, połączenie TCP
między dwoma węzłami zostanie zdejmowana. Jest to zalecane, ale nie wymagane.
wykonaj to polecenie po zakończeniu przesyłania danych.
Wysyłaj komunikat między 2 węzłami
W węźle 1 zainicjuj moduł interfejsu wiersza poleceń TCP, a następnie nasłuchuj połączeń przychodzących za pomocą przykładowego detektora TCP.
tcp init
tcp listen :: 30000
::
oznacza, że interfejslisten
powinien używać nieokreślonego adresu IPv6, dzięki czemu stos TCP/IPv6 przypisze adres IPv6. Numer portu to 30 000.W węźle 2 zainicjuj moduł interfejsu 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 przeanalizowaniu powyższych przykładowych kroków powinny pojawić się takie wyniki:
- Gdy Node 2 uruchomi polecenie
tcp connect
, węzeł 2 powinien otrzymać wiadomośćTCP: Connection established
. - Węzeł 1 powinien następnie otrzymywać komunikaty (z przykładowym adresem IPv6 i portem):
Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
TCP: Connection established
- Gdy Node 2 uruchomi polecenie
tcp send
, węzeł 1 powinien otrzymać wiadomość:TCP: Received 5 bytes: hello