<ph type="x-smartling-placeholder"></ph> GitHub에서 소스 보기
OpenThread는 P2P 테스트를 위해 스레드 네트워크와 함께 사용할 UDP 명령어를 제공함
UDP 소켓 간의 통신을 연결합니다 cli udp
는 다음과 같은 샘플 소켓 하나를 제공합니다.
모든 udp
명령어가 상호작용합니다.
다음 예는 소켓을 열고 바인드하는 방법과 UDP 소켓을 사용하여 메시지를 보내는 방법을 배울 것입니다.
UDP 명령어
udp
명령어 목록을 보려면 help
를 입력합니다.
udp help
bind
close
connect
linksecurity
open
send
Done
open
명령어
udp open
명령어를 사용하여 UDP 통신을 시작하는 소켓을 엽니다.
그러면 소켓을 특정 IP 주소 및 포트에 바인딩할 수 있습니다.
bind
명령어
소켓을 open
한 후 udp bind
명령어를 실행하여 IPv6 주소를 할당할 수 있습니다.
개방형 소켓에 대한 포트가 있습니다 이렇게 하면 통신을 위해 소켓이 바인딩됩니다.
IPv6 주소와 포트를 소켓 이름 지정이라고도 합니다. 만약
소켓을 bind
하여 소켓 (udp connect
)을 연결하거나
udp send
명령어는 소켓을 임시 포트에 바인딩합니다.
connect
명령어
udp connect
명령어를 사용하여 예시 소켓을 피어 소켓 주소에 연결할 수 있습니다.
그런 다음 udp send
명령어를 실행하여 피어에 메시지를 보낼 수 있습니다. 소켓에
아직 바인딩되지 않은 경우 udp connect
명령어를 실행하면 소켓이 바인딩됩니다.
send
명령어
udp send
명령어는 예시 소켓을 사용하여 대상에 메시지를 전송합니다.
명령어 변수로 지정할 수 있는 IP 주소와 UDP 포트가 있습니다.
IP 주소와 포트가
udp send
명령어를 사용하면 메시지가 예시 소켓을 사용하여 전송됩니다.
udp connect
명령어에 지정된 대상으로 전달됩니다.
udp send
명령어를 실행하면 소켓이 임시 포트에 바인딩됩니다.
(소켓이 아직 바인딩되지 않은 경우)
close
명령어
다음과 같은 경우 udp close
명령어를 사용하여 소켓을 닫는 것이 좋습니다.
소켓은 더 이상 필요하지 않습니다
linksecurity
명령어
udp linksecurity
명령어는 메시지의 데이터 링크 레이어 보안을 사용 설정 또는 사용 중지하는 데 사용할 수 있습니다.
두 노드 간에 메시지 전송
노드 1에서 UDP 소켓을 엽니다.
udp open
Done노드 1에서 소켓을 바인딩합니다.
udp bind :: 1234
Done::
를 사용하면bind
가 지정되지 않은 IPv6 주소를 사용해야 함을 나타냅니다. UDP/IPv6 스택이 바인딩 IPv6 주소를 할당하도록 합니다. 완료udp bind
를 사용한 옵션(예: 네트워크 인터페이스에 결합) udp bind를 참조하세요.
1 노드 2에서 UDP 소켓을 엽니다.
udp open
Done
노드 2에서 노드 1에 간단한 메시지를 보냅니다.
udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 hello
Done이 명령어는 노드 2가 이미 노드 1의 주소를 발견했다고 가정합니다. 또한 이 예에서 노드 2의 관리자는 소켓을 바인딩합니다 이는 노드 2 관리자가 사용되는 IP 주소와 포트를 고려하지 않고 노드 1에 메시지를 전송합니다. 노드 2 소스로 사용합니다 이 시나리오에서 소켓은 IP 주소와 포트를 무작위로 선택합니다.
udp send
의 전체 옵션은 다음을 참고하세요. udp send노드 1은 노드 2의 메시지 수신을 확인합니다.
5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
소켓을 피어 소켓 주소에 연결한 후 두 노드 간에 메시지 전송
이 예는 이전 예와 유사하지만, 유연성의 일부를 보여줍니다.
UDP 소켓을 사용할 수 있습니다. 이 방법을 사용하여 먼저 소켓을
피어 소켓 주소를 사용하는 경우 피어 IP 주소와 포트를 지정할 필요가 없습니다.
udp send
를 실행할 때마다
노드 1에서 UDP 소켓을 엽니다.
udp open
Done노드 1에서 소켓을 바인딩합니다.
udp bind :: 1234
Done노드 2에서 UDP 소켓을 엽니다.
udp open
Done노드 2에서
udp connect
명령어를 사용하여 노드 1과의 통신을 엽니다.udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234
Doneudp connect
의 전체 옵션은 다음을 참고하세요. udp connect노드 2에서
udp send
명령어를 사용하여 노드 1에 메시지를 전송하지만udp send
명령어 구문에서ip
및port
를 지정합니다.udp send hello
Doneip
및port
를 지정하지 않으면udp send
명령어가ip
및port
를 사용합니다.udp connect
명령에 지정되어 있습니다.