nl :: إنت :: UDPEndPoint

#include <src/inet/UDPEndPoint.h>

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

ملخص

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

ميراث

يرث من: NL :: :: آينت 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 بالفعل.

ربط الواجهة

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 بالفعل

إرسال

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
خطأ آخر في النظام أو النظام الأساسي

ارسل إلى

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

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

ارسل إلى

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
خطأ آخر في النظام أو النظام الأساسي