UDP

Bu modül, UDP iletişimini kontrol eden işlevler içerir.

Özet

Sıralamalar

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
Bu numaralandırma, OpenThread ağ arayüzü tanımlayıcılarını tanımlar.

Typedef

otNetifIdentifier typedef
Bu numaralandırma, OpenThread ağ arayüzü tanımlayıcılarını tanımlar.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
bool(*
Bu geri çağırma, OpenThread'in belirli UDP iletileri için belirli işleyiciler sağlamasına olanak tanır.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
Bu geri çağırma, OpenThread'in alınan UDP iletisinin uygulamasını bilmesini sağlar.
otUdpReceiver typedef
struct otUdpReceiver
Bu yapı bir UDP alıcısını temsil ediyor.
otUdpSocket typedef
struct otUdpSocket
Bu yapı bir UDP soketini temsil eder.

İşlevler

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Bu işlev, UDP alıcısı ekler.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
UDP/IPv6 soketi bağlama.
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
UDP/IPv6 soketini kapatın.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
Bir UDP/IPv6 soketi bağlayın.
otUdpGetSockets(otInstance *aInstance)
Bu işlev, bağlı UDP Yuvaları listesinin başındadır.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
UDP soketinin açık olup olmadığını kontrol edin.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
UDP mesajı göndermek için yeni bir mesaj arabelleği ayırın.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
Bir UDP/IPv6 soketi açın.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Bu işlev, UDP alıcısını kaldırır.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
UDP/IPv6 mesajı gönderin.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
Bu işlev, yuva olmadan UDP iletisi gönderir.

Strucs

otUdpReceiver

Bu yapı bir UDP alıcısını temsil ediyor.

otUdpSocket

Bu yapı bir UDP soketini temsil eder.

Sıralamalar

otNetifIdentifier

 otNetifIdentifier

Bu numaralandırma, OpenThread ağ arayüzü tanımlayıcılarını tanımlar.

Özellikler
OT_NETIF_BACKBONE

Omurga arayüzü.

OT_NETIF_THREAD

İleti Dizisi arayüzü.

OT_NETIF_UNSPECIFIED

Belirtilmemiş ağ arayüzü.

Typedef

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

Bu numaralandırma, OpenThread ağ arayüzü tanımlayıcılarını tanımlar.

Utpİşleyicisi

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

Bu geri çağırma, OpenThread'in belirli UDP iletileri için belirli işleyiciler sağlamasına olanak tanır.

Ayrıntılar
Değerleri Döndür
true
İleti, bu alıcı tarafından işleniyor ve daha fazla işlenmemesi gerekiyor.
false
İleti, bu alıcı tarafından işlenmiyor.

Utp Alma

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

Bu geri çağırma, OpenThread'in alınan UDP iletisinin uygulamasını bilmesini sağlar.

otUdpAlıcısı

struct otUdpReceiver otUdpReceiver

Bu yapı bir UDP alıcısını temsil ediyor.

otUdpSocket

struct otUdpSocket otUdpSocket

Bu yapı bir UDP soketini temsil eder.

İşlevler

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Bu işlev, UDP alıcısı ekler.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aUdpReceiver
UDP alıcısına işaret eder.
Değerleri Döndür
OT_ERROR_NONE
Alıcı başarıyla eklendi.
OT_ERROR_ALREADY
UDP alıcısı zaten eklendi.

UtpBind

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

UDP/IPv6 soketi bağlama.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aSocket
UDP soketi yapısının bir göstergesi.
[in] aSockName
IPv6 yuva adres yapısının bir göstergesi.
[in] aNetif
Bağlanacak ağ arayüzü.
Değerleri Döndür
OT_ERROR_NONE
Bağlama işlemi başarılı oldu.
OT_ERROR_FAILED
UDP soketi bağlanamadı.

UtpKapat

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

UDP/IPv6 soketini kapatın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aSocket
UDP soketi yapısının bir göstergesi.
Değerleri Döndür
OT_ERROR_NONE
Priz başarıyla kapatıldı.
OT_ERROR_FAILED
UDP Yuvası kapatılamadı.

UotUConnect

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

Bir UDP/IPv6 soketi bağlayın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aSocket
UDP soketi yapısının bir göstergesi.
[in] aSockName
IPv6 yuva adres yapısının bir göstergesi.
Değerleri Döndür
OT_ERROR_NONE
Bağlantı işlemi başarıyla gerçekleştirildi.
OT_ERROR_FAILED
UDP soketi bağlanamadı.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Bu işlev, bağlı UDP Yuvaları listesinin başındadır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
İadeler
UDP Yuvası bağlantılı listesinin başına bir işaretçi.

otUdpIsOpen

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

UDP soketinin açık olup olmadığını kontrol edin.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aSocket
UDP soketi yapısının bir göstergesi.
İadeler
UDP soketinin açık olup olmadığı.

Yeni Mesaj

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

UDP mesajı göndermek için yeni bir mesaj arabelleği ayırın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aSettings
İleti ayarlarını işaret eden veya varsayılan ayarları kullanmak için BOŞ olacaktır.
İadeler
Mesaj arabelleği yoksa veya parametreler geçersizse mesaj arabelleğinin veya NULL bilgisinin işaretçisi.
Şu makaleyi de inceleyebilirsiniz:
otMessageFree

otUdpAçık

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

Bir UDP/IPv6 soketi açın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aSocket
UDP soketi yapısının bir göstergesi.
[in] aCallback
Uygulama geri çağırma işlevinin işaretçisi.
[in] aContext
Uygulamaya özel bağlama yönelik bir işaretçi.
Değerleri Döndür
OT_ERROR_NONE
Priz başarıyla açıldı.
OT_ERROR_FAILED
Priz açılamadı.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Bu işlev, UDP alıcısını kaldırır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aUdpReceiver
UDP alıcısına işaret eder.
Değerleri Döndür
OT_ERROR_NONE
Alıcı başarıyla kaldırıldı.
OT_ERROR_NOT_FOUND
UDP alıcısı eklenmedi.

OtUdpSend

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

UDP/IPv6 mesajı gönderin.

İade değeri OT_ERROR_NONE ise OpenThread, aMessage öğesinin sahipliğini alır ve arayan artık aMessage öğesini referans göstermemelidir. Döndürme değeri OT_ERROR_NONE değilse arayan, mesaj arabelleğinin artık gerekli olmaması durumunda aMessage alanını serbest bırakmak da dahil olmak üzere aMessage adlı alanın sahipliğini korur.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aSocket
UDP soketi yapısının bir göstergesi.
[in] aMessage
Mesaj arabelleğinin işaretçisi.
[in] aMessageInfo
Mesaj bilgileri yapısının işaretçisi.

Ayrıntılar
Değerleri Döndür
OT_ERROR_NONE
İleti, gönderme işlemi için başarıyla planlandı.
OT_ERROR_INVALID_ARGS
Geçersiz bağımsız değişkenler belirtildi.
OT_ERROR_NO_BUFS
Kullanılabilir arabellek, UDP ve IPv6 üstbilgilerini eklemek için yetersiz.

otUdpSendDatagram

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

Bu işlev, yuva olmadan UDP iletisi gönderir.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aMessage
UDP başlığı olmayan bir mesajın işaretçisi.
[in] aMessageInfo
aMessage ile ilişkili bir mesaj bilgisinin işaretçisi.
Değerleri Döndür
OT_ERROR_NONE
Mesaj, bir çıkış arayüzüne başarıyla sıraya alındı.
OT_ERROR_NO_BUFS
IPv6 üstbilgilerini eklemek için mevcut arabellek yetersiz.

Kaynaklar

OpenThread API Referansı konuları, GitHub'da bulunan kaynak koddan gelmektedir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar'a bakın.