Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

nl :: Inet :: UDPEndPoint

#include <src/inet/UDPEndPoint.h>

このクラスのオブジェクトは、UDPトランスポートエンドポイントを表します。

概要

Nest Inet Layerは、UDPトランスポートエンドポイント(LinuxおよびBSD派生システムのSOCK_DGRAMソケット)またはLwIP UDPプロトコル制御ブロックと対話するためのメソッドをカプセル化します(システムはそれに応じて構成されます)。

継承

:から継承NL :: Inetの:: IPEndPointBasis

公の行事

Bind (IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
エンドポイントをインターフェイスIPアドレスにバインドします。
BindInterface (IPAddressType addrType, InterfaceId intf)
エンドポイントをネットワークインターフェイスにバインドします。
Close (void)
void
エンドポイントを閉じます。
Free (void)
void
エンドポイントを閉じて、そのメモリをリサイクルします。
GetBoundInterface (void)
InterfaceId
このエンドポイントでバインドされたインターフェイスを取得します。
GetBoundPort (void)
uint16_t
Listen (void)
UDPメッセージを受信するようにエンドポイントを準備します。
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
指定された宛先にUDPメッセージを送信します。
SendTo ( IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
同義語SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags)
SendTo ( IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
指定された宛先アドレスにUDPメッセージを送信します。

公の行事

練る

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId
)

エンドポイントをインターフェイスIPアドレスにバインドします。

エンドポイントを指定されたネットワークインターフェイスのIPアドレスにバインドします。

詳細
パラメーター
[in] addrType
IPアドレスのプロトコルバージョン
[in] addr
IPアドレス(インターフェースアドレスである必要があります)
[in] port
UDPポート
[in] intfId
オプションのネットワークインターフェースインジケーター
戻り値
INET_NO_ERROR
成功:エンドポイントがアドレスにバインドされました
INET_ERROR_INCORRECT_STATE
エンドポイントは以前にバインドされています
INET_NO_MEMORY
エンドポイントのメモリが不足しています
INET_ERROR_UNKNOWN_INTERFACE
一部のプラットフォームでは、オプションで指定されたインターフェイスが存在しません。
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType一致していませんIPVer
INET_ERROR_WRONG_ADDRESS_TYPE
addrTypeあるkIPAddressType_Any 、またはタイプaddr等しくないaddrType
other
別のシステムまたはプラットフォームのエラー

LwIPでは、LwIPスタックロックをすでに取得した状態でこのメソッドを呼び出さないでください。

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

エンドポイントをネットワークインターフェイスにバインドします。

エンドポイントを指定されたネットワークインターフェイスのIPアドレスにバインドします。

詳細
パラメーター
[in] addrType
IPアドレスのプロトコルバージョン。
[in] intf
ネットワークインターフェイスのインジケータ。
戻り値
INET_NO_ERROR
成功:エンドポイントがアドレスにバインドされました
INET_NO_MEMORY
エンドポイントのメモリが不足しています
INET_ERROR_NOT_IMPLEMENTED
システムの実装が完了していません。
INET_ERROR_UNKNOWN_INTERFACE
一部のプラットフォームでは、インターフェースが存在しません。
other
別のシステムまたはプラットフォームのエラー

LwIPでは、LwIPスタックロックをすでに取得した状態でこのメソッドを呼び出さないでください。

閉じる

void Close(
  void
)

エンドポイントを閉じます。

場合mState != kState_Closed 、その後、通信イベントの対象のエンドポイントのセットから削除し、エンドポイントを閉じます。

LwIPシステムでは、LwIPスタックロックをすでに取得した状態でこのメソッドを呼び出さないでください。

自由

void Free(
  void
)

エンドポイントを閉じて、そのメモリをリサイクルします。

呼び出しClose方法、そして呼び出しInetLayerBasis::Releaseそのメモリプールにオブジェクトを返すようにする方法を。

LwIPシステムでは、LwIPスタックロックをすでに取得した状態でこのメソッドを呼び出さないでください。

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

このエンドポイントでバインドされたインターフェイスを取得します。

詳細
戻り値
InterfaceIdバインドされたインターフェイスID。

GetBoundPort

uint16_t GetBoundPort(
  void
)

聴く

INET_ERROR Listen(
  void
)

UDPメッセージを受信するようにエンドポイントを準備します。

場合はStateすでにあるkState_Listening 、その後、何も操作は実行されないので、それ以外の場合はmStateに設定されkState_Listeningおよびエンドポイントは、プラットフォームのセマンティクスに応じて、受信したUDPメッセージに用意されています。

詳細
戻り値
INET_NO_ERROR
成功:エンドポイントはメッセージを受信する準備ができています。
INET_ERROR_INCORRECT_STATE
エンドポイントはすでにリッスンしています。

LwIPでは、このメソッドは、すでに取得されているLwIPスタックロックを使用して呼び出すことはできません。

SendMsg

INET_ERROR SendMsg(
  const IPPacketInfo *pktInfo,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

指定された宛先にUDPメッセージを送信します。

 Send the UDP message in \c msg to the destination address and port given in
 \c pktInfo.  If \c pktInfo contains an interface id, the message will be sent
 over the specified interface.  If \c pktInfo contains a source address, the
 given address will be used as the source of the UDP message.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

詳細
パラメーター
[in] pktInfo
UDPメッセージの送信元と宛先の情報
[in] msg
UDPメッセージを含むパケットバッファ
[in] sendFlags
オプションの送信オプションフラグ
戻り値
INET_NO_ERROR
成功: msg 、送信用にキューに入れられています。
INET_ERROR_NOT_SUPPORTED
システムは要求された操作をサポートしていません。
INET_ERROR_WRONG_ADDRESS_TYPE
宛先アドレスとバインドされたインターフェイスアドレスに、一致するプロトコルバージョンまたはアドレスタイプがありません。
INET_ERROR_MESSAGE_TOO_LONG
msg全体のUDPメッセージが含まれていません。
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
いくつかのプラットフォームでは、唯一の切り捨て部分msg送信用にキューに入れられました。
other
別のシステムまたはプラットフォームのエラー

に送る

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

同義語SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags)

に送る

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

指定された宛先アドレスにUDPメッセージを送信します。

 If possible, then this method sends the UDP message \c msg to the
 destination \c addr (with \c intfId used as the scope
 identifier for IPv6 link-local destinations) and \c port with the
 transmit option flags encoded in \c sendFlags.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

詳細
パラメーター
[in] addr
宛先IPアドレス
[in] port
宛先UDPポート
[in] intfId
オプションのネットワークインターフェースインジケーター
[in] msg
UDPメッセージを含むパケットバッファ
[in] sendFlags
オプションの送信オプションフラグ
戻り値
INET_NO_ERROR
成功: msg 、送信用にキューに入れられています。
INET_ERROR_NOT_SUPPORTED
システムは要求された操作をサポートしていません。
INET_ERROR_WRONG_ADDRESS_TYPE
宛先アドレスとバインドされたインターフェイスアドレスに、一致するプロトコルバージョンまたはアドレスタイプがありません。
INET_ERROR_MESSAGE_TOO_LONG
msg全体のUDPメッセージが含まれていません。
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
いくつかのプラットフォームでは、唯一の切り捨て部分msg送信用にキューに入れられました。
other
別のシステムまたはプラットフォームのエラー