UDP

이 모듈에는 UDP 통신을 제어하는 기능이 포함되어 있습니다.

요약

열거

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
OpenThread 네트워크 인터페이스 식별자를 정의합니다.

Typedef

otNetifIdentifier typedef
OpenThread 네트워크 인터페이스 식별자를 정의합니다.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
bool(*
이 콜백을 통해 OpenThread는 특정 UDP 메시지에 대한 특정 핸들러를 제공할 수 있습니다.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
이 콜백을 통해 OpenThread가 수신된 UDP 메시지를 애플리케이션에 알릴 수 있습니다.
otUdpReceiver typedef
struct otUdpReceiver
UDP 수신기를 나타냅니다.
otUdpSocket typedef
struct otUdpSocket
UDP 소켓을 나타냅니다.

함수

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
UDP 수신기를 추가합니다.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
UDP/IPv6 소켓을 바인딩합니다.
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
UDP/IPv6 소켓을 닫습니다.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
UDP/IPv6 소켓을 연결합니다.
otUdpGetSockets(otInstance *aInstance)
UDP 소켓의 연결된 목록의 헤드를 가져옵니다.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
UDP 소켓이 열려 있는지 확인합니다.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
UDP 메시지를 전송하기 위한 새 메시지 버퍼를 할당합니다.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
UDP/IPv6 소켓을 엽니다.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
UDP 수신기를 삭제합니다.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
UDP/IPv6 메시지를 전송합니다.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
소켓 없이 UDP 메시지를 전송합니다.

구조체

otUdpReceiver

UDP 수신기를 나타냅니다.

otUdpSocket

UDP 소켓을 나타냅니다.

열거형

otNetifIdentifier

 otNetifIdentifier

OpenThread 네트워크 인터페이스 식별자를 정의합니다.

속성
OT_NETIF_BACKBONE

백본 인터페이스

OT_NETIF_THREAD

Thread 인터페이스입니다.

OT_NETIF_UNSPECIFIED

지정되지 않은 네트워크 인터페이스입니다.

Typedef

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

OpenThread 네트워크 인터페이스 식별자를 정의합니다.

otUdpHandler

bool(* otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo)

이 콜백을 통해 OpenThread는 특정 UDP 메시지에 대한 특정 핸들러를 제공할 수 있습니다.

세부정보
반환 값
true
메시지는 이 수신자에 의해 처리되며 더 이상 처리되지 않습니다.
false
이 수신자는 메시지를 처리하지 않습니다.

otUdpReceive

void(* otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)

이 콜백을 통해 OpenThread가 수신된 UDP 메시지를 애플리케이션에 알릴 수 있습니다.

otUdpReceiver

struct otUdpReceiver otUdpReceiver

UDP 수신기를 나타냅니다.

otUdpSocket

struct otUdpSocket otUdpSocket

UDP 소켓을 나타냅니다.

함수

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

UDP 수신기를 추가합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aUdpReceiver
UDP 수신자를 가리키는 포인터입니다.
반환 값
OT_ERROR_NONE
수신기가 추가되었습니다.
OT_ERROR_ALREADY
UDP 수신기가 이미 추가되었습니다.

otUdpBind

otError otUdpBind(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName,
  otNetifIdentifier aNetif
)

UDP/IPv6 소켓을 바인딩합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aSocket
UDP 소켓 구조를 가리키는 포인터입니다.
[in] aSockName
IPv6 소켓 주소 구조를 가리키는 포인터입니다.
[in] aNetif
결합할 네트워크 인터페이스입니다.
반환 값
OT_ERROR_NONE
바인딩 작업이 성공했습니다.
OT_ERROR_FAILED
UDP 소켓을 결합할 수 없습니다.

otUdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

UDP/IPv6 소켓을 닫습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aSocket
UDP 소켓 구조를 가리키는 포인터입니다.
반환 값
OT_ERROR_NONE
소켓을 닫았습니다.
OT_ERROR_FAILED
UDP 소켓을 닫을 수 없습니다.

otUdpConnect

otError otUdpConnect(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName
)

UDP/IPv6 소켓을 연결합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aSocket
UDP 소켓 구조를 가리키는 포인터입니다.
[in] aSockName
IPv6 소켓 주소 구조를 가리키는 포인터입니다.
반환 값
OT_ERROR_NONE
연결 작업이 완료되었습니다.
OT_ERROR_FAILED
UDP 소켓에 연결하지 못했습니다.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

UDP 소켓의 연결된 목록의 헤드를 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
반환
UDP 소켓 연결 목록의 헤드에 대한 포인터입니다.

otUdpIsOpen

bool otUdpIsOpen(
  otInstance *aInstance,
  const otUdpSocket *aSocket
)

UDP 소켓이 열려 있는지 확인합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aSocket
UDP 소켓 구조를 가리키는 포인터입니다.
반환
UDP 소켓이 열려 있는지 여부입니다.

otUdpNewMessage

otMessage * otUdpNewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

UDP 메시지를 전송하기 위한 새 메시지 버퍼를 할당합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aSettings
메시지 설정에 대한 포인터 또는 기본 설정을 사용할 NULL입니다.
반환
메시지 버퍼에 대한 포인터 또는 사용할 수 있는 메시지 버퍼가 없거나 매개변수가 유효하지 않은 경우 NULL입니다.
참고 항목:
otMessageFree

otUdpOpen

otError otUdpOpen(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otUdpReceive aCallback,
  void *aContext
)

UDP/IPv6 소켓을 엽니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aSocket
UDP 소켓 구조를 가리키는 포인터입니다.
[in] aCallback
애플리케이션 콜백 함수를 가리키는 포인터입니다.
[in] aContext
애플리케이션별 컨텍스트에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
소켓을 열었습니다.
OT_ERROR_FAILED
소켓을 열 수 없습니다.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

UDP 수신기를 삭제합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aUdpReceiver
UDP 수신자를 가리키는 포인터입니다.
반환 값
OT_ERROR_NONE
수신기가 삭제되었습니다.
OT_ERROR_NOT_FOUND
UDP 수신기가 추가되지 않았습니다.

otUdpSend

otError otUdpSend(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

UDP/IPv6 메시지를 전송합니다.

반환 값이 OT_ERROR_NONE이면 OpenThread가 aMessage의 소유권을 가져오므로 호출자는 더 이상 aMessage를 참조해서는 안 됩니다. 반환 값이 OT_ERROR_NONE이 아니면 호출자는 메시지 버퍼가 더 이상 필요하지 않은 경우 aMessage를 해제하는 등 aMessage의 소유권을 유지합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aSocket
UDP 소켓 구조를 가리키는 포인터입니다.
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
[in] aMessageInfo
메시지 정보 구조를 가리키는 포인터입니다.

세부정보
반환 값
OT_ERROR_NONE
메시지 전송이 예약되었습니다.
OT_ERROR_INVALID_ARGS
잘못된 인수가 제공되었습니다.
OT_ERROR_NO_BUFS
UDP 및 IPv6 헤더를 추가할 수 있는 버퍼가 부족합니다.

otUdpSendDatagram

otError otUdpSendDatagram(
  otInstance *aInstance,
  otMessage *aMessage,
  otMessageInfo *aMessageInfo
)

소켓 없이 UDP 메시지를 전송합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aMessage
UDP 헤더가 없는 메시지에 대한 포인터입니다.
[in] aMessageInfo
aMessage와 연결된 메시지 정보를 가리키는 포인터입니다.
반환 값
OT_ERROR_NONE
메시지를 출력 인터페이스의 대기열에 추가했습니다.
OT_ERROR_NO_BUFS
IPv6 헤더를 추가할 수 있는 버퍼가 부족합니다.
OT_ERROR_INVALID_ARGS
잘못된 인수가 제공되었습니다.

자료

OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 알아보거나 문서에 참여하려면 리소스를 참고하세요.