Kaynağı GitHub'da görüntüleyin
OpenThread, UDP soketleri arasında eşler arası iletişimi test etmek için bir Thread ağıyla kullanılmak üzere UDP komutları sunar. cli udp
, tüm udp
komutlarının etkileşimde bulunduğu bir örnek yuva sağlar.
Aşağıdaki örneklerde yuvaları nasıl açıp bağlayabileceğiniz, soketin nasıl bağlanacağı ve UDP soketlerini kullanarak nasıl mesaj gönderileceği gösterilmektedir.
UDP komutları
udp
komutları listesi için help
yazın:
udp help
bind
close
connect
linksecurity
open
send
Done
open
komutu
UDP iletişimini başlatmak üzere yuvayı açmak için udp open
komutunu kullanın.
Ardından, soketi belirli bir IP adresine ve bağlantı noktasına bağlama seçeneğiniz vardır.
bind
komutu
Yuvaya open
işlemi yaptıktan sonra, açık yuvaya bir IPv6 adresi ve bir bağlantı noktası atamak için udp bind
komutu çalıştırabilirsiniz. Bu, iletişim için yuvayı bağlar. IPv6 adresi ve bağlantı noktasının atanması, yuvayı adlandırma olarak da adlandırılır. Yuvayı doğrudan bind
yapmazsanız soketi (udp connect
) bağlamak veya bir udp send
komutunda kullanmak, yuvayı geçici bir bağlantı noktasına bağlar.
connect
komutu
Örnek yuvayı bir eş yuva adresine bağlamak için udp connect
komutu kullanılabilir.
Ardından, eşe mesaj göndermek için bir udp send
komutu yayınlayabilirsiniz. Yuva önceden bağlı değilse udp connect
komutunun verilmesi, yuvayı da bağlar.
send
komutu
udp send
komutu, örnek yuvayı kullanarak IP adresi ve UDP bağlantı noktasının komut değişkenleriyle belirtilebileceği bir hedefe mesaj gönderir.
udp send
komutunda IP adresi ve bağlantı noktası belirtilmemişse mesaj, örnek yuva kullanılarak udp connect
komutunda belirtilen hedefe gönderilir.
udp send
komutunun verilmesi, yuvaya halihazırda bağlanmamışsa yuvayı geçici bir bağlantı noktasına bağlar.
close
komutu
Artık gerekli olmayan yuvayı kapatmak için udp close
komutunu kullanmanız önerilir.
linksecurity
komutu
udp linksecurity
komutu, mesajlarda veri bağlantısı katmanı güvenliğini etkinleştirmek veya devre dışı bırakmak için kullanılabilir.
İki düğüm arasında mesaj gönderme
1. Düğüm'de UDP soketini açın.
udp open
Done1. Düğüm'de soketi bağlayın.
udp bind :: 1234
Done::
kullanımı,bind
öğesinin belirtilmemiş IPv6 adresini kullanması gerektiğini, dolayısıyla UDP/IPv6 yığınının bağlayıcı IPv6 adresini ataması gerektiğini belirtir. Ağ arayüzüne bağlama gibiudp bind
ile ilgili tüm seçenekler için udp bind bölümüne bakın.
1 2. Düğümde, UDP soketini açın.
udp open
Done
2. Düğüm'de, 1. Düğüme basit bir mesaj gönderin.
udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 hello
DoneBu komut, Düğüm 2'nin Düğüm 1'in adresini zaten keşfettiğini varsayar. Ayrıca bu örnekte Düğüm 2'nin yöneticisi, yuvayı bağlamamayı seçmiştir. Bunun nedeni, Düğüm 2 yöneticisinin, Düğüm 2 kaynağı olarak kullanılan IP adresleri ve bağlantı noktalarını dikkate almadan Düğüm 1'e mesaj göndermek istemesidir. Bu senaryoda yuva bir IP adresi ve bağlantı noktası seçer.
udp send
ile ilgili tüm seçenekler için udp send bölümüne bakın.1. düğüm, 2. düğümden iletinin alındığını onaylar:
5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
Yuvayı eş yuva adresine bağlayın, ardından iki düğüm arasında bir mesaj gönderin
Bu örnek, bir öncekine benzer ancak UDP soketlerini kullanırken sahip olduğunuz esnekliği göstermektedir. Bu yöntemle önce soketi eş yuva adresine bağlarsınız, ardından her udp send
işleminizde eş IP adresini ve bağlantı noktasını belirtmeniz gerekmez.
1. Düğüm'de UDP soketini açın.
udp open
Done1. Düğüm'de soketi bağlayın.
udp bind :: 1234
Done2. Düğümde UDP soketini açın.
udp open
Done2. Düğüm'de, 1. Düğüm ile iletişimi açmak için
udp connect
komutunu kullanın.udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234
Doneudp connect
ile ilgili tüm seçenekler için udp connect'e bakın2. Düğüm'de, Düğüm 1'e mesaj göndermek için
udp send
komutunu kullanın ancakudp send
komut söz dizimindeip
veport
belirtmeyin.udp send hello
Doneip
veport
belirtilmedenudp send
komutu,udp connect
komutunda belirtilenip
veport
değerlerini kullanır.