nl::Inet::UDPEndPoint

#include <src/inet/UDPEndPoint.h>

تمثّل الكائنات من هذه الفئة نقاط نهاية نقل UDP.

ملخّص

تضم طبقة Nest Inet طُرقًا للتفاعل مع نقاط نهاية النقل عبر بروتوكول UDP (مقابس SOCK_DGRAM على الأنظمة التي تعمل بنظام التشغيل Linux والأنظمة المستمدة من BSD) أو كتل التحكم في بروتوكول LwIP UDP، وفقًا لضبط النظام وفقًا لذلك.

الاكتساب

يتم اكتسابه من: nl::Inet::IPEndPointBasis

وظائف عامة

Bind(IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
ربط نقطة النهاية بعنوان IP للواجهة.
BindInterface(IPAddressType addrType, InterfaceId intf)
ربط نقطة النهاية بواجهة شبكة.
Close(void)
void
أغلق نقطة النهاية.
Free(void)
void
أغلِق نقطة النهاية وأعِد تدوير ذاكرتها.
GetBoundInterface(void)
InterfaceId
يمكنك الحصول على الواجهة المرتبطة في نقطة النهاية هذه.
GetBoundPort(void)
uint16_t
Listen(void)
قم بإعداد نقطة النهاية لتلقي رسائل UDP.
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
إرسال رسالة UDP إلى وجهة محددة.
SendTo(IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
مرادف لـ SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags).
SendTo(IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
أرسل رسالة UDP إلى عنوان الوجهة المحدد.

وظائف عامة

الارتباط

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId
)

ربط نقطة النهاية بعنوان IP للواجهة.

ربط نقطة النهاية بعنوان IP المحدد لواجهة الشبكة.

التفاصيل
المعلمات
[in] addrType
إصدار البروتوكول لعنوان IP
[in] addr
عنوان IP (يجب أن يكون عنوان واجهة)
[in] port
منفذ UDP
[in] intfId
مؤشر اختياري لواجهة الشبكة
قيم الإرجاع
INET_NO_ERROR
نجح: ربط نقطة النهاية بالمعالجة
INET_ERROR_INCORRECT_STATE
تم ربط نقطة النهاية سابقًا
INET_NO_MEMORY
لا تتوفر ذاكرة كافية لنقطة النهاية
INET_ERROR_UNKNOWN_INTERFACE
في بعض الأنظمة الأساسية، لا تتوفّر الواجهة المحدَّدة اختياريًا.
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType لا يطابق IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType تساوي kIPAddressType_Any، أو نوع addr لا يساوي addrType.
other
خطأ آخر في النظام أو النظام الأساسي

في LwIP، يجب ألا يتم استدعاء هذه الطريقة عندما يكون قفل تكديس LwIP قد سبق الحصول عليه.

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

ربط نقطة النهاية بواجهة شبكة.

ربط نقطة النهاية بعنوان IP المحدد لواجهة الشبكة.

التفاصيل
المعلمات
[in] addrType
إصدار البروتوكول لعنوان IP.
[in] intf
مؤشر لواجهة الشبكة.
قيم الإرجاع
INET_NO_ERROR
نجح: ربط نقطة النهاية بالمعالجة
INET_NO_MEMORY
لا تتوفر ذاكرة كافية لنقطة النهاية
INET_ERROR_NOT_IMPLEMENTED
عدم اكتمال تنفيذ النظام.
INET_ERROR_UNKNOWN_INTERFACE
الواجهة غير موجودة على بعض الأنظمة الأساسية.
other
خطأ آخر في النظام أو النظام الأساسي

في LwIP، يجب ألا يتم استدعاء هذه الطريقة عندما يكون قفل تكديس LwIP قد سبق الحصول عليه.

إغلاق

void Close(
  void
)

أغلق نقطة النهاية.

في حال كانت mState != kState_Closed، سيتم إغلاق نقطة النهاية، وإزالتها من مجموعة نقاط النهاية المؤهَّلة لأحداث الاتصال.

في أنظمة LwIP، يجب ألا يتم استدعاء هذه الطريقة عندما يكون قفل تكديس LwIP قد سبق الحصول عليه.

مجانًا

void Free(
  void
)

أغلِق نقطة النهاية وأعِد تدوير ذاكرتها.

تستدعي الطريقة Close، ثم تستدعي الإجراء InetLayerBasis::Release لإرجاع العنصر إلى مجموعة الذاكرة الخاصة به.

في أنظمة LwIP، يجب ألا يتم استدعاء هذه الطريقة عندما يكون قفل تكديس LwIP قد سبق الحصول عليه.

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

يمكنك الحصول على الواجهة المرتبطة في نقطة النهاية هذه.

التفاصيل
المرتجعات
InterfaceId معرّف الواجهة المرتبط.

GetBoundPort

uint16_t GetBoundPort(
  void
)

استماع

INET_ERROR Listen(
  void
)

قم بإعداد نقطة النهاية لتلقي رسائل UDP.

إذا كانت قيمة State هي kState_Listening من قبل، لن يتم تنفيذ أي عملية، وبخلاف ذلك، تم ضبط mState على kState_Listening ويتم إعداد نقطة النهاية لتلقّي رسائل UDP، وفقًا لدلالات النظام الأساسي.

التفاصيل
قيم الإرجاع
INET_NO_ERROR
ناجح: نقطة النهاية جاهزة لتلقي الرسائل.
INET_ERROR_INCORRECT_STATE
نقطة النهاية في صدد الاستماع.

في LwIP، يجب ألا يتم استدعاء هذه الطريقة عندما يكون قفل تكديس LwIP قد تم الحصول عليه مسبقًا

SendMsg

INET_ERROR SendMsg(
  const IPPacketInfo *pktInfo,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

إرسال رسالة UDP إلى وجهة محددة.

 Send the UDP message in \c msg to the destination address and port given in
 \c pktInfo.  If \c pktInfo contains an interface id, the message will be sent
 over the specified interface.  If \c pktInfo contains a source address, the
 given address will be used as the source of the UDP message.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

التفاصيل
المعلمات
[in] pktInfo
معلومات المصدر والوجهة لرسالة UDP
[in] msg
مخزن مؤقت للحزم يحتوي على رسالة UDP
[in] sendFlags
علامات خيارات الإرسال الاختيارية
قيم الإرجاع
INET_NO_ERROR
نجاح: تمت إضافة msg إلى قائمة انتظار الإرسال.
INET_ERROR_NOT_SUPPORTED
لا يتيح النظام العملية المطلوبة.
INET_ERROR_WRONG_ADDRESS_TYPE
عنوان الوجهة وعنوان الواجهة المرتبط لا يحتوي على إصدارات بروتوكول أو نوع عنوان مطابق.
INET_ERROR_MESSAGE_TOO_LONG
msg لا يحتوي على رسالة UDP بأكملها.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
وعلى بعض الأنظمة الأساسية، تمت إضافة جزء مقتطع فقط من msg إلى قائمة انتظار الإرسال.
other
خطأ آخر في النظام أو النظام الأساسي

SendTo

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

مرادف لـ SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags).

SendTo

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

أرسل رسالة UDP إلى عنوان الوجهة المحدد.

 If possible, then this method sends the UDP message \c msg to the
 destination \c addr (with \c intfId used as the scope
 identifier for IPv6 link-local destinations) and \c port with the
 transmit option flags encoded in \c sendFlags.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

التفاصيل
المعلمات
[in] addr
عنوان IP الوجهة
[in] port
منفذ UDP الوجهة
[in] intfId
مؤشر اختياري لواجهة الشبكة
[in] msg
المخزن المؤقت للحزم الذي يحتوي على رسالة UDP
[in] sendFlags
علامات خيارات الإرسال الاختيارية
قيم الإرجاع
INET_NO_ERROR
نجاح: تمت إضافة msg إلى قائمة انتظار الإرسال.
INET_ERROR_NOT_SUPPORTED
لا يتيح النظام العملية المطلوبة.
INET_ERROR_WRONG_ADDRESS_TYPE
عنوان الوجهة وعنوان الواجهة المرتبط لا يحتوي على إصدارات بروتوكول أو نوع عنوان مطابق.
INET_ERROR_MESSAGE_TOO_LONG
msg لا يحتوي على رسالة UDP بأكملها.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
وعلى بعض الأنظمة الأساسية، تمت إضافة جزء مقتطع فقط من msg إلى قائمة انتظار الإرسال.
other
خطأ آخر في النظام أو النظام الأساسي