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 است یا نوع 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 از قبل به دست آمده فراخوانی شود

ارسال پیام

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
یک خطای سیستم یا پلتفرم دیگر