UDP

Modul ini mencakup fungsi yang mengontrol komunikasi UDP.

Ringkasan

Enumerasi

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
Menentukan ID antarmuka jaringan OpenThread.

Typedef

otNetifIdentifier typedef
Menentukan ID antarmuka jaringan OpenThread.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
bool(*
Callback ini memungkinkan OpenThread menyediakan pengendali khusus untuk pesan UDP tertentu.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
Callback ini memungkinkan OpenThread memberi tahu aplikasi tentang pesan UDP yang diterima.
otUdpReceiver typedef
struct otUdpReceiver
Menampilkan penerima UDP.
otUdpSocket typedef
struct otUdpSocket
Merepresentasikan soket UDP.

Fungsi

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Menambahkan penerima UDP.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
Mengikat soket UDP/IPv6.
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
Tutup soket UDP/IPv6.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
Hubungkan soket UDP/IPv6.
otUdpGetSockets(otInstance *aInstance)
Mendapatkan header daftar tertaut Soket UDP.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
Periksa apakah soket UDP terbuka.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Mengalokasikan buffering pesan baru untuk mengirim pesan UDP.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
Buka soket UDP/IPv6.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Menghapus penerima UDP.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Mengirim pesan UDP/IPv6.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
Mengirim pesan UDP tanpa soket.

Struct

otUdpReceiver

Menampilkan penerima UDP.

otUdpSocket

Merepresentasikan soket UDP.

Enumerasi

otNetifIdentifier

 otNetifIdentifier

Menentukan ID antarmuka jaringan OpenThread.

Properti
OT_NETIF_BACKBONE

Antarmuka Backbone.

OT_NETIF_THREAD

Antarmuka Thread.

OT_NETIF_UNSPECIFIED

Antarmuka jaringan belum ditetapkan.

Typedef

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

Menentukan ID antarmuka jaringan OpenThread.

otUdpHandler

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

Callback ini memungkinkan OpenThread menyediakan pengendali khusus untuk pesan UDP tertentu.

Detail
Nilai Pengembalian
true
Pesan ditangani oleh penerima ini dan tidak akan diproses lebih lanjut.
false
Pesan tidak ditangani oleh penerima ini.

otUdpReceive

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

Callback ini memungkinkan OpenThread memberi tahu aplikasi tentang pesan UDP yang diterima.

otUdpReceiver

struct otUdpReceiver otUdpReceiver

Menampilkan penerima UDP.

otUdpSocket

struct otUdpSocket otUdpSocket

Merepresentasikan soket UDP.

Fungsi

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Menambahkan penerima UDP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aUdpReceiver
Pointer ke penerima UDP.
Nilai Pengembalian
OT_ERROR_NONE
Penerima berhasil ditambahkan.
OT_ERROR_ALREADY
Penerima UDP sudah ditambahkan.

otUdpBind

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

Mengikat soket UDP/IPv6.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSocket
Pointer ke struktur soket UDP.
[in] aSockName
Pointer ke struktur alamat soket IPv6.
[in] aNetif
Antarmuka jaringan yang akan diikat.
Nilai Pengembalian
OT_ERROR_NONE
Operasi pengikatan berhasil.
OT_ERROR_FAILED
Gagal mengikat soket UDP.

otUdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

Tutup soket UDP/IPv6.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSocket
Pointer ke struktur soket UDP.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil menutup soket.
OT_ERROR_FAILED
Gagal menutup Soket UDP.

otUdpConnect

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

Hubungkan soket UDP/IPv6.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSocket
Pointer ke struktur soket UDP.
[in] aSockName
Pointer ke struktur alamat soket IPv6.
Nilai Pengembalian
OT_ERROR_NONE
Operasi penyambungan berhasil.
OT_ERROR_FAILED
Gagal menyambungkan soket UDP.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Mendapatkan header daftar tertaut Soket UDP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer ke kepala daftar tertaut UDP Socket.

otUdpIsOpen

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

Periksa apakah soket UDP terbuka.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSocket
Pointer ke struktur soket UDP.
Hasil
Apakah soket UDP terbuka.

otUdpNewMessage

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

Mengalokasikan buffering pesan baru untuk mengirim pesan UDP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSettings
Pointer ke setelan pesan atau NULL untuk menggunakan setelan default.
Hasil
Pointer ke buffer pesan atau NULL jika tidak ada buffer pesan yang tersedia atau parameter tidak valid.
Lihat juga:
otMessageFree

otUdpOpen

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

Buka soket UDP/IPv6.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSocket
Pointer ke struktur soket UDP.
[in] aCallback
Pointer ke fungsi callback aplikasi.
[in] aContext
Pointer ke konteks khusus aplikasi.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil membuka soket.
OT_ERROR_FAILED
Gagal membuka soket.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Menghapus penerima UDP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aUdpReceiver
Pointer ke penerima UDP.
Nilai Pengembalian
OT_ERROR_NONE
Penerima berhasil dihapus.
OT_ERROR_NOT_FOUND
Penerima UDP tidak ditambahkan.

otUdpSend

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

Mengirim pesan UDP/IPv6.

Jika nilai yang ditampilkan adalah OT_ERROR_NONE, OpenThread akan mengambil alih kepemilikan aMessage, dan pemanggil tidak boleh lagi merujuk aMessage. Jika nilai yang ditampilkan bukan OT_ERROR_NONE, pemanggil mempertahankan kepemilikan aMessage, termasuk membebaskan aMessage jika buffering pesan tidak lagi diperlukan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSocket
Pointer ke struktur soket UDP.
[in] aMessage
Pointer ke buffering pesan.
[in] aMessageInfo
Pointer ke struktur info pesan.

Detail
Nilai Pengembalian
OT_ERROR_NONE
Pesan berhasil dijadwalkan untuk dikirim.
OT_ERROR_INVALID_ARGS
Argumen yang diberikan tidak valid.
OT_ERROR_NO_BUFS
Buffering yang tersedia tidak memadai untuk menambahkan header UDP dan IPv6.

otUdpSendDatagram

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

Mengirim pesan UDP tanpa soket.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aMessage
Pointer ke pesan tanpa header UDP.
[in] aMessageInfo
Pointer ke info pesan yang terkait dengan aMessage.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil mengantrekan pesan ke antarmuka output.
OT_ERROR_NO_BUFS
Buffering yang tersedia tidak memadai untuk menambahkan header IPv6.
OT_ERROR_INVALID_ARGS
Argumen yang diberikan tidak valid.

Referensi

Topik Referensi OpenThread API berasal dari kode sumber yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.