بروتوكول UDP

تشمل هذه الوحدة وظائف تتحكم في اتصال UDP.

الملخّص

التعدادات

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
تعداد
تحدّد هذه القائمة العددية أرقام تعريف واجهة الشبكة في سلسلة المحادثات.

مواقد الخط

otNetifIdentifier مَعلمة typetype
تحدّد هذه القائمة العددية أرقام تعريف واجهة الشبكة في سلسلة المحادثات.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) مَعلمة typetype
bool(*
يسمح هذا الاستدعاء لـ OpenThread بتوفير معالجات معينة لرسائل UDP معينة.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) مَعلمة typetype
void(*
يسمح هذا الاستدعاء لـ OpenThread بإبلاغ تطبيق رسالة UDP المستلمة.
otUdpReceiver مَعلمة typetype
struct otUdpReceiver
تمثل هذه البنية جهاز استقبال UDP.
otUdpSocket مَعلمة typetype
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

تحدّد هذه القائمة العددية أرقام تعريف واجهة الشبكة في سلسلة المحادثات.

المنشآت الفندقية
OT_NETIF_BACKBONE

واجهة تطبيق العمود الفقري.

OT_NETIF_THREAD

واجهة سلسلة المحادثات.

OT_NETIF_UNSPECIFIED

واجهة شبكة غير محدّدة

مواقد الخط

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

تحدّد هذه القائمة العددية أرقام تعريف واجهة الشبكة في سلسلة المحادثات.

مقبض otUdp

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

يسمح هذا الاستدعاء لـ OpenThread بتوفير معالجات معينة لرسائل UDP معينة.

التفاصيل
قيم الإرجاع
true
تتم معالجة الرسالة من قِبل هذا المستلِم ويجب ألا تتم معالجتها.
false
لا يعالج هذا المستلِم الرسالة.

otUdpReceive

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

يسمح هذا الاستدعاء لـ 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 من قبل.

otUdpLink

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.

otUdpإغلاق

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.

otUdpGetSocket

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

تحصل هذه الدالة على عنوان القائمة المرتبطة لمقابس UDP.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
مؤشرًا لرأس القائمة المرتبطة بمقبس UDP.

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
مؤشر إلى إعدادات الرسالة أو مفتاح "خالٍ" لاستخدام الإعدادات التلقائية.
طلبات الإرجاع
إشارة إلى المخزن المؤقت للرسائل أو فارغ في حال عدم توفر ذاكرة تخزين مؤقت للرسائل أو كانت المعلمات غير صالحة.
يُرجى الاطّلاع أيضًا على:
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، تصبح Openسلسلة ملكية 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 وIP6.

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.

المراجع

تنشأ مواضيع واجهة برمجة التطبيقات المرجعية لـ OpenThread من رمز المصدر، المتوفر على GitHub. للاطّلاع على مزيد من المعلومات أو للمساهمة في مستنداتنا، يُرجى الرجوع إلى المراجع.