Kaynağı GitHub'da görüntüleyin
OpenThread, TCP uç noktaları arasında eşler arası iletişimi test etmek için Thread ağıyla kullanılmak üzere TCP komutları sunar. cli tcp
, tüm tcp
komutlarının etkileşimde bulunduğu bir örnek TCP uç noktası ve bir örnek TCP dinleyici sağlar.
Komuta genel bakışlarda ve aşağıdaki örnekte, örnek TCP uç noktası ve TCP işleyicinin başlatılması, eş TCP uç noktasına nasıl bağlanılacağı ve eşe mesaj gönderme hakkında bilgi sağlanır.
TCP komutları
tcp
komutlarının listesi için help
yazın:
tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Tüm komutların açıklamaları ve söz dizimi için CLI Komut Referansı'na bakın.
TCP komutları alfabetik olarak tcp abort ile başlar.
init
komutu
TCP iletişimini başlatmak amacıyla TCP modülünü başlatmak için tcp init
komutunu kullanın.
Böylece TCP modülü, tcp
CLI tarafından sağlanan örnek TCP dinleyiciyi kullanarak gelen bağlantıları dinlemek gibi birçok işlevi gerçekleştirebilir.
Örnek TCP dinleyicisini ve örnek TCP uç noktasını başlatmak için tcp deinit
komutunu verin.
bind
komutu
TCP modülünü başlattıktan sonra örnek TCP uç noktasını bağlamak için, TCP uç noktasına IPv6 adresi ve bağlantı noktası atamak amacıyla bir tcp bind
komutu çalıştırın.
Bu, iletişimin uç noktasını bağlar. IPv6 adresinin ve bağlantı noktasının atanması,
"uç noktanın adlandırılması" olarak da adlandırılır.
listen
komutu
TCP modülünü başlattıktan sonra örnek TCP dinleyiciyi kullanmak için bir tcp listen
komutu çalıştırarak IPv6 adresini ve dinleme bağlantı noktasını belirtin.
Örnek TCP dinleyicinin gelen TCP bağlantılarını dinlemesini durdurmak için tcp stoplistening
komutunu verin.
connect
komutu
tcp connect
komutu, örnek TCP uç noktasını eş TCP uç nokta adresine bağlar.
send
komutu
İki düğüm arasında bağlantı kurulduktan sonra, eşe mesaj göndermek için bir tcp send
komutu gönderin.
benchmark
komutları
İki düğüm arasında TCP bağlantısı kurulduktan sonra, ağ bant genişliğini ve performansını test etmek amacıyla düğümler arasında büyük miktarda veri göndermek için isteğe bağlı olarak benchmark
komutlarını kullanın. benchmark
sonuçlarında, TCP Goodput ve milisaniye cinsinden aktarılan bayt sayısı sağlanır.
abort
komutu
Bir TCP bağlantısını hemen ve istenmeyen bir şekilde sonlandırmak için TCP uç noktasını kapalı duruma geçirmek üzere her iki düğümde de tcp abort
komutunu çalıştırın.
sendend
komutu
Bir düğüm diğer düğüme veri göndermeyi tamamladığında, ilk düğüm ikinci düğümü artık veri beklememesi konusunda uyarmak için bir tcp sendend
komutu verebilir. İkinci düğüm de ilk düğüme bir tcp sendend
gönderebilir.
Her düğüm bir TCP: Disconnected
mesajı aldığında iki düğüm arasındaki TCP bağlantısı kesilir. Veri aktarımı tamamlandığında bu komutun verilmesi önerilir ancak zorunlu değildir.
İki düğüm arasında mesaj gönderme
1. düğümde TCP CLI modülünü başlatın, ardından örnek TCP işleyiciyi kullanarak gelen bağlantıları dinleyin.
tcp init
tcp listen :: 30000
::
kullanımı,listen
değerinin belirtilmemiş IPv6 adresini kullanması ve dolayısıyla TCP/IPv6 yığınının IPv6 adresini atamasını sağlaması gerektiğini belirtir. Bağlantı noktası 30.000'dir.2. düğümde TCP CLI modülünü başlatın, 1. düğüme bağlanın ve basit bir mesaj gönderin.
tcp init
tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
tcp send hello
Doğrulama
Yukarıda gösterilen örnek adımlara göre aşağıdaki çıkış beklenir:
- 2. Düğüm,
tcp connect
komutunu çalıştırdıktan sonra 2. DüğümTCP: Connection established
mesajını alır. - Ardından 1. düğüm mesajları almalıdır (örnek IPv6 adresi ve bağlantı noktası ile):
Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
TCP: Connection established
- 2. Düğüm
tcp send
komutunu çalıştırdıktan sonra 1. DüğümTCP: Received 5 bytes: hello
mesajını alır