با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

nl:: اینت:: UDPendPoint

#include <src/inet/UDPEndPoint.h>

اشیاء این کلاس نشان دهنده نقاط پایانی انتقال UDP هستند.

خلاصه

Nest Inet Layer روش‌هایی را برای تعامل با نقاط پایانی انتقال UDP (سوکت‌های SOCK_DGRAM در لینوکس و سیستم‌های مشتق از 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 یا نوع addrType addr .
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 روی 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
یک خطای سیستم یا پلتفرم دیگر