UDP

این ماژول شامل توابعی است که ارتباطات UDP را کنترل می کند.

خلاصه

شمارش ها

otNetifIdentifier {
OT_NETIF_UNSPECIFIED = 0,
OT_NETIF_THREAD ,
OT_NETIF_BACKBONE
}
enum
شناسه های رابط شبکه OpenThread را تعریف می کند.

Typedefs

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(*
این فراخوانی به OpenThread اجازه می دهد تا برنامه را از یک پیام UDP دریافتی مطلع کند.
otUdpReceiver typedef
یک گیرنده 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

رابط شبکه نامشخص

Typedefs

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

شناسه های رابط شبکه OpenThread را تعریف می کند.

otUdpHandler

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 قبلاً اضافه شده است.

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
عملیات Bind موفقیت آمیز بود.
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.

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 سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.