UDP

המודול הזה כולל פונקציות ששולטות בתקשורת UDP.

סיכום

ספירות

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
טיפוסים בני מנייה (enum)
הגדרת המזהים של ממשק הרשת של OpenThread.

ערכי דף

otNetifIdentifier typedef
הגדרת המזהים של ממשק הרשת של OpenThread.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
bool(*
הקריאה החוזרת (callback) מאפשרת ל-OpenThread לספק handlers ספציפיים להודעות UDP מסוימות.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
הקריאה החוזרת (callback) הזו מאפשרת ל-OpenThread להודיע לאפליקציה על הודעת UDP שהתקבלה.
otUdpReceiver typedef
struct otUdpReceiver
מייצג מקלט UDP.
otUdpSocket typedef
struct otUdpSocket
מייצג שקע UDP.

פונקציות

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
הוספת מקלט UDP.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
מקשרים שקע UDP/IPv6.
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
סוגרים שקע UDP/IPv6.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
צריך לחבר שקע UDP/IPv6.
otUdpGetSockets(otInstance *aInstance)
הפונקציה מקבלת את הראש של רשימה מקושרת של שקעי UDP.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
צריך לבדוק אם שקע UDP פתוח.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
הקצאת מאגר הודעות חדש לשליחת הודעת UDP.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
פותחים שקע UDP/IPv6.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
הסרה של מקלט UDP.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
שולחים הודעת UDP/IPv6.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
שליחת הודעת UDP ללא שקע.

מבנים

otUdpReceiver

מייצג מקלט UDP.

otUdpSocket

מייצג שקע UDP.

ספירות

otNetifIdentifier

 otNetifIdentifier

הגדרת המזהים של ממשק הרשת של OpenThread.

תכונות
OT_NETIF_BACKBONE

ממשק Backbone.

OT_NETIF_THREAD

הממשק של ה-Thread.

OT_NETIF_UNSPECIFIED

ממשק הרשת לא צוין.

ערכי דף

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

הגדרת המזהים של ממשק הרשת של OpenThread.

otUdpHandler

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

הקריאה החוזרת (callback) מאפשרת ל-OpenThread לספק handlers ספציפיים להודעות UDP מסוימות.

פרטים
ערכים מוחזרים
true
ההודעה מטופלת על ידי הנמען הזה ואין צורך להמשיך לעבד אותה.
false
הנמען לא מטפל בהודעה.

otUdpReceive

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

הקריאה החוזרת (callback) הזו מאפשרת ל-OpenThread להודיע לאפליקציה על הודעת UDP שהתקבלה.

otUdpReceiver

struct otUdpReceiver otUdpReceiver

מייצג מקלט UDP.

otUdpSocket

struct otUdpSocket otUdpSocket

מייצג שקע UDP.

פונקציות

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

הוספת מקלט UDP.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aUdpReceiver
מצביע אל מקלט ה-UDP.
ערכים מוחזרים
OT_ERROR_NONE
המקבל נוסף בהצלחה.
OT_ERROR_ALREADY
מקלט ה-UDP כבר נוסף.

otUdpBind

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

מקשרים שקע UDP/IPv6.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
[in] aSockName
מצביע למבנה של כתובות שקע IPv6.
[in] aNetif
ממשק הרשת לקישור.
ערכים מוחזרים
OT_ERROR_NONE
פעולת הקישור הצליחה.
OT_ERROR_FAILED
הקישור לשקע UDP נכשל.

otUdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

סוגרים שקע UDP/IPv6.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
ערכים מוחזרים
OT_ERROR_NONE
השקע נסגר בהצלחה.
OT_ERROR_FAILED
הסגירה של שקע ה-UDP נכשלה.

otUdpConnect

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

צריך לחבר שקע UDP/IPv6.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
[in] aSockName
מצביע למבנה של כתובות שקע IPv6.
ערכים מוחזרים
OT_ERROR_NONE
פעולת ההתחברות בוצעה בהצלחה.
OT_ERROR_FAILED
החיבור לשקע UDP נכשל.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

הפונקציה מקבלת את הראש של רשימה מקושרת של שקעי UDP.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
החזרות
מצביע לראש הרשימה המקושרת ל-UDP Socket.

otUdpIsOpen

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

צריך לבדוק אם שקע UDP פתוח.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
החזרות
האם שקע ה-UDP פתוח.

otUdpNewMessage

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

הקצאת מאגר הודעות חדש לשליחת הודעת UDP.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aSettings
מעבר עם הסמן להגדרות ההודעה או על NULL כדי להשתמש בהגדרות ברירת המחדל.
החזרות
מעבר למאגר הנתונים הזמני של ההודעות או NULL אם אין מאגרי הודעות זמינים או אם הפרמטרים לא חוקיים.
ראו גם:
otMessageFree

otUdpOpen

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

פותחים שקע UDP/IPv6.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
[in] aCallback
מצביע אל פונקציית הקריאה החוזרת של האפליקציה.
[in] aContext
הפניה להקשר ספציפי לאפליקציה.
ערכים מוחזרים
OT_ERROR_NONE
השקע נפתח בהצלחה.
OT_ERROR_FAILED
פתיחת השקע נכשלה.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

הסרה של מקלט UDP.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aUdpReceiver
מצביע אל מקלט ה-UDP.
ערכים מוחזרים
OT_ERROR_NONE
המקבל הוסר.
OT_ERROR_NOT_FOUND
מקלט ה-UDP לא נוסף.

otUdpSend

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

שולחים הודעת UDP/IPv6.

אם הערך המוחזר הוא OT_ERROR_NONE, OpenThread מקבל בעלות על aMessage, ומבצע הקריאה החוזרת לא אמור להפנות אל aMessage. אם הערך המוחזר אינו OT_ERROR_NONE, מבצע הקריאה החוזרת ישאיר את הבעלות על aMessage, כולל שחרור של aMessage אם אין יותר צורך במאגר ההודעות הזמני.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
[in] aMessage
מצביע למאגר הודעות.
[in] aMessageInfo
מעבר של הסמן למבנה של פרטי ההודעה.

פרטים
ערכים מוחזרים
OT_ERROR_NONE
ההודעה תוזמנה לשליחה.
OT_ERROR_INVALID_ARGS
ניתנים ארגומנטים לא חוקיים.
OT_ERROR_NO_BUFS
אין מספיק מאגר נתונים זמין כדי להוסיף את כותרות ה-UDP ו-IPv6.

otUdpSendDatagram

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

שליחת הודעת UDP ללא שקע.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aMessage
מצביע להודעה ללא כותרת UDP.
[in] aMessageInfo
מצביע על פרטי הודעה שמשויכת אל aMessage.
ערכים מוחזרים
OT_ERROR_NONE
העברת ההודעה לתור בממשק פלט בוצעה בהצלחה.
OT_ERROR_NO_BUFS
אין מספיק מאגר נתונים זמני כדי להוסיף את כותרות IPv6.
OT_ERROR_INVALID_ARGS
ניתנים ארגומנטים לא חוקיים.

מקורות מידע

המקור של נושאי העזר של OpenThread API הוא קוד המקור, שזמין ב-GitHub. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.