ไม่มี:: ไอเน็ต:: UDPEndPoint

#include <src/inet/UDPEndPoint.h>

ออบเจ็กต์ของคลาสนี้แสดงถึงปลายทางการขนส่ง UDP

สรุป

Nest Inet Layer สรุปวิธีการโต้ตอบกับปลายทางการส่งข้อมูล 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 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
ความสำเร็จ: ปลายทางผูกกับที่อยู่ to
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 stack lock ที่ได้รับมาแล้ว

ส่งข้อความ

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
ตัวเลือกการส่งแฟล็กตัวเลือกoptional
ส่งกลับค่า
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
ตัวเลือกการส่งแฟล็กตัวเลือกoptional
ส่งกลับค่า
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
ข้อผิดพลาดของระบบหรือแพลตฟอร์มอื่น