Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl:: Internet:: UDPEndPoint

#include <src/inet/UDPEndPoint.h>

Objek kelas ini mewakili titik akhir transportasi UDP.

Ringkasan

Nest Inet Layer merangkum metode untuk berinteraksi dengan endpoint transport UDP (soket SOCK_DGRAM pada sistem turunan Linux dan BSD) atau blok kontrol protokol UDP LwIP, karena sistem dikonfigurasikan sesuai dengan itu.

Warisan

Mewarisi dari: nl :: Inet :: IPEndPointBasis

Fungsi publik

Bind (IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
Ikat titik akhir ke alamat IP antarmuka.
BindInterface (IPAddressType addrType, InterfaceId intf)
Ikat titik akhir ke antarmuka jaringan.
Close (void)
void
Tutup titik akhir.
Free (void)
void
Tutup titik akhir dan daur ulang memorinya.
GetBoundInterface (void)
InterfaceId
Dapatkan antarmuka terikat pada titik akhir ini.
GetBoundPort (void)
uint16_t
Listen (void)
Siapkan titik akhir untuk menerima pesan UDP.
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Kirim pesan UDP ke tujuan tertentu.
SendTo ( IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Sebuah 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)
Kirim pesan UDP ke alamat tujuan yang ditentukan.

Fungsi publik

Mengikat

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

Ikat titik akhir ke alamat IP antarmuka.

Mengikat titik akhir ke alamat IP antarmuka jaringan yang ditentukan.

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

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

Mengikat Antarmuka

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

Ikat titik akhir ke antarmuka jaringan.

Mengikat titik akhir ke alamat IP antarmuka jaringan yang ditentukan.

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

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

Menutup

void Close(
  void
)

Tutup titik akhir.

Jika mState != kState_Closed , kemudian menutup titik akhir, mengeluarkannya dari set endpoint memenuhi syarat untuk aktivitas komunikasi.

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

Gratis

void Free(
  void
)

Tutup titik akhir dan daur ulang memorinya.

Memanggil Close metode, kemudian memanggil InetLayerBasis::Release metode untuk kembali objek ke kolam renang memori.

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

DapatkanBoundInterface

InterfaceId GetBoundInterface(
  void
)

Dapatkan antarmuka terikat pada titik akhir ini.

rincian
Kembali
InterfaceId Id antarmuka terikat.

DapatkanBoundPort

uint16_t GetBoundPort(
  void
)

Mendengarkan

INET_ERROR Listen(
  void
)

Siapkan titik akhir untuk menerima pesan UDP.

Jika State sudah kState_Listening , maka tidak ada operasi dilakukan, jika tidak mState diatur untuk kState_Listening dan titik akhir siap untuk pesan UDP yang diterima, menurut semantik platform.

rincian
Mengembalikan Nilai
INET_NO_ERROR
sukses: titik akhir siap menerima pesan.
INET_ERROR_INCORRECT_STATE
titik akhir sudah mendengarkan.

Pada LwIP, metode ini tidak boleh dipanggil dengan kunci tumpukan LwIP yang sudah diperoleh

Kirim Pesan

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

Kirim pesan UDP ke tujuan tertentu.

 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.

rincian
Parameter
[in] pktInfo
informasi sumber dan tujuan untuk pesan UDP
[in] msg
buffer paket yang berisi pesan UDP
[in] sendFlags
bendera opsi transmisi opsional
Mengembalikan Nilai
INET_NO_ERROR
Keberhasilan: msg antri untuk mengirimkan.
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 mengandung pesan UDP seluruh.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Pada beberapa platform, hanya sebagian dipotong dari msg antri untuk mengirimkan.
other
kesalahan sistem atau platform lain

Kirim ke

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

Sebuah sinonim untuk SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags) .

Kirim ke

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

Kirim 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.

rincian
Parameter
[in] addr
alamat IP tujuan
[in] port
port UDP tujuan
[in] intfId
indikator antarmuka jaringan opsional
[in] msg
buffer paket yang berisi pesan UDP
[in] sendFlags
bendera opsi transmisi opsional
Mengembalikan Nilai
INET_NO_ERROR
Keberhasilan: msg antri untuk mengirimkan.
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 mengandung pesan UDP seluruh.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Pada beberapa platform, hanya sebagian dipotong dari msg antri untuk mengirimkan.
other
kesalahan sistem atau platform lain