nl::Inet::UDPEndPoint

#include <src/inet/UDPEndPoint.h>

Objek di class ini merepresentasikan endpoint transpor UDP.

Ringkasan

Nest Inet Layer mengenkapsulasi metode untuk berinteraksi dengan endpoint transpor UDP (soket SOCK_DGRAM di sistem turunan BSD dan Linux) atau blok kontrol protokol UDP LwIP, sesuai konfigurasi sistem.

Inheritance

Mewarisi dari: nl::Inet::IPEndPointBasis

Fungsi publik

Bind(IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
Ikat endpoint ke alamat IP antarmuka.
BindInterface(IPAddressType addrType, InterfaceId intf)
Ikat endpoint ke antarmuka jaringan.
Close(void)
void
Tutup endpoint.
Free(void)
void
Menutup endpoint dan mendaur ulang memorinya.
GetBoundInterface(void)
InterfaceId
Dapatkan antarmuka terikat di endpoint ini.
GetBoundPort(void)
uint16_t
Listen(void)
Siapkan endpoint untuk menerima pesan UDP.
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Mengirim pesan UDP ke tujuan yang ditentukan.
SendTo(IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Sinonim untuk SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags).
SendTo(IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Mengirim pesan UDP ke alamat tujuan yang ditentukan.

Fungsi publik

Ikat

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

Ikat endpoint ke alamat IP antarmuka.

Mengikat endpoint ke alamat IP antarmuka jaringan yang ditentukan.

Detail
Parameter
[in] addrType
versi protokol alamat IP
[in] addr
alamat IP (harus berupa alamat antarmuka)
[in] port
port UDP
[in] intfId
indikator antarmuka jaringan opsional
Nilai yang Ditampilkan
INET_NO_ERROR
sukses: titik akhir terikat ke alamat
INET_ERROR_INCORRECT_STATE
endpoint telah diikat sebelumnya
INET_NO_MEMORY
memori endpoint tidak cukup
INET_ERROR_UNKNOWN_INTERFACE
Pada beberapa platform, antarmuka yang ditentukan secara opsional tidak ada.
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType tidak cocok dengan IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType adalah kIPAddressType_Any, atau jenis addr tidak sama dengan addrType.
other
error sistem atau platform lain

Di LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

Ikat endpoint ke antarmuka jaringan.

Mengikat endpoint ke alamat IP antarmuka jaringan yang ditentukan.

Detail
Parameter
[in] addrType
versi protokol dari alamat IP.
[in] intf
indikator antarmuka jaringan.
Nilai yang Ditampilkan
INET_NO_ERROR
sukses: titik akhir terikat ke alamat
INET_NO_MEMORY
memori endpoint tidak cukup
INET_ERROR_NOT_IMPLEMENTED
implementasi sistem belum selesai.
INET_ERROR_UNKNOWN_INTERFACE
Pada beberapa platform, antarmuka tidak ada.
other
error sistem atau platform lain

Di LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

Tutup

void Close(
  void
)

Tutup endpoint.

Jika mState != kState_Closed, akan menutup endpoint, menghapusnya dari kumpulan endpoint yang memenuhi syarat untuk peristiwa komunikasi.

Pada sistem LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

Gratis

void Free(
  void
)

Menutup endpoint dan mendaur ulang memorinya.

Memanggil metode Close, lalu memanggil metode InetLayerBasis::Release untuk menampilkan objek ke kumpulan memorinya.

Pada sistem LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

Dapatkan antarmuka terikat di endpoint ini.

Detail
Hasil
InterfaceId ID antarmuka terikat.

GetBoundPort

uint16_t GetBoundPort(
  void
)

Dengarkan

INET_ERROR Listen(
  void
)

Siapkan endpoint untuk menerima pesan UDP.

Jika State sudah kState_Listening, tidak ada operasi yang dilakukan. Jika tidak, mState akan disetel ke kState_Listening dan endpoint akan disiapkan untuk menerima pesan UDP, sesuai dengan semantik platform.

Detail
Nilai yang Ditampilkan
INET_NO_ERROR
sukses: endpoint siap untuk menerima pesan.
INET_ERROR_INCORRECT_STATE
endpoint sudah memproses.

Di LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh

SendMsg

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

Mengirim pesan UDP ke tujuan yang ditentukan.

 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.

Detail
Parameter
[in] pktInfo
informasi sumber dan tujuan untuk pesan UDP
[in] msg
{i>buffer<i} paket yang berisi pesan UDP
[in] sendFlags
tanda opsi transmisi opsional
Nilai yang Ditampilkan
INET_NO_ERROR
berhasil: msg diantrekan untuk pengiriman.
INET_ERROR_NOT_SUPPORTED
sistem tidak mendukung operasi yang diminta.
INET_ERROR_WRONG_ADDRESS_TYPE
alamat tujuan dan alamat antarmuka terikat tidak memiliki versi protokol atau jenis alamat yang cocok.
INET_ERROR_MESSAGE_TOO_LONG
msg tidak berisi seluruh pesan UDP.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Di beberapa platform, hanya bagian msg yang terpotong yang diantrekan untuk dikirim.
other
error sistem atau platform lain

SendTo

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

Sinonim untuk SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags).

SendTo

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

Mengirim pesan UDP ke alamat tujuan yang ditentukan.

 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.

Detail
Parameter
[in] addr
alamat IP tujuan
[in] port
porta UDP tujuan
[in] intfId
indikator antarmuka jaringan opsional
[in] msg
{i>buffer<i} paket yang berisi pesan UDP
[in] sendFlags
tanda opsi transmisi opsional
Nilai yang Ditampilkan
INET_NO_ERROR
berhasil: msg diantrekan untuk pengiriman.
INET_ERROR_NOT_SUPPORTED
sistem tidak mendukung operasi yang diminta.
INET_ERROR_WRONG_ADDRESS_TYPE
alamat tujuan dan alamat antarmuka terikat tidak memiliki versi protokol atau jenis alamat yang cocok.
INET_ERROR_MESSAGE_TOO_LONG
msg tidak berisi seluruh pesan UDP.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Di beberapa platform, hanya bagian msg yang terpotong yang diantrekan untuk dikirim.
other
error sistem atau platform lain