UDP

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

ملخّص

التعدادات

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
تعداد
تحدّد معرّفات واجهة شبكة OpenThread.

أنواع المحددات

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

هياكل

otUdpReceivedr

يمثل جهاز استقبال UDP.

otUdpSocket

يمثل مقبس UDP.

التعدادات

otNetifidentifier

 otNetifIdentifier

تحدّد معرّفات واجهة شبكة OpenThread.

أماكن إقامة
OT_NETIF_BACKBONE

واجهة الخلفية

OT_NETIF_THREAD

واجهة Thread.

OT_NETIF_UNSPECIFIED

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

أنواع المحددات

otNetifidentifier

enum otNetifIdentifier otNetifIdentifier

تحدّد معرّفات واجهة شبكة OpenThread.

OtddHandler

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

تسمح معاودة الاتصال هذه لـ OpenThread بتقديم معالجات معينة لرسائل UDP معيَّنة.

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

OtudPاستلام

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

تسمح معاودة الاتصال هذه لسلسلة المحادثات بإبلاغ تطبيق رسالة UDP مستلَمة.

جهاز otUdpاستقبال

struct otUdpReceiver otUdpReceiver

يمثل جهاز استقبال UDP.

UtpSocket

struct otUdpSocket otUdpSocket

يمثل مقبس UDP.

الدوال

otUdpAdd الاستلام

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.

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.

UtpGetSockets

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

Otdd Open

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
تعذّر فتح المقابس.

otUdpإزالة وحدة الاستقبال

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

إزالة جهاز استقبال UDP

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aUdpReceiver
مؤشر إلى جهاز استقبال UDP.
قيم الإرجاع
OT_ERROR_NONE
تمت إزالة جهاز الاستقبال بنجاح.
OT_ERROR_NOT_FOUND
لم تتم إضافة جهاز استقبال UDP.

UtpSend

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.

الموارد

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