nl:: इनेट:: यूडीपीएंडपॉइंट

#include <src/inet/UDPEndPoint.h>

इस वर्ग की वस्तुएं यूडीपी परिवहन समापन बिंदुओं का प्रतिनिधित्व करती हैं।

सारांश

नेस्ट इनेट लेयर यूडीपी ट्रांसपोर्ट एंडपॉइंट्स (लिनक्स और बीएसडी-व्युत्पन्न सिस्टम पर SOCK_DGRAM सॉकेट्स) या 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)
एक निर्दिष्ट गंतव्य के लिए एक यूडीपी संदेश भेजें।
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)
निर्दिष्ट गंतव्य पते पर एक यूडीपी संदेश भेजें।

सार्वजनिक समारोह

बाइंड

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

समापन बिंदु को एक इंटरफ़ेस IP पते से बाइंड करें।

एंडपॉइंट को निर्दिष्ट नेटवर्क इंटरफेस आईपी एड्रेस से बांधता है।

विवरण
मापदंडों
[in] addrType
आईपी ​​​​पते का प्रोटोकॉल संस्करण
[in] addr
IP पता (इंटरफ़ेस पता होना चाहिए)
[in] port
यूडीपी पोर्ट
[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
)

एंडपॉइंट को नेटवर्क इंटरफेस से बांधें।

एंडपॉइंट को निर्दिष्ट नेटवर्क इंटरफेस आईपी एड्रेस से बांधता है।

विवरण
मापदंडों
[in] addrType
आईपी ​​​​पते का प्रोटोकॉल संस्करण।
[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 , तो endpoint बंद कर देता है, संचार की घटनाओं के लिए पात्र अंतिम बिंदुओं के सेट से इसे हटाने के।

LwIP सिस्टम पर, इस विधि को पहले से प्राप्त LwIP स्टैक लॉक के साथ नहीं कहा जाना चाहिए।

नि: शुल्क

void Free(
  void
)

समापन बिंदु को बंद करें और इसकी मेमोरी को रीसायकल करें।

Invokes Close विधि, तो invokes InetLayerBasis::Release अपनी स्मृति पूल के लिए वस्तु लौटने के लिए विधि।

LwIP सिस्टम पर, इस विधि को पहले से प्राप्त LwIP स्टैक लॉक के साथ नहीं कहा जाना चाहिए।

गेटबाउंडइंटरफ़ेस

InterfaceId GetBoundInterface(
  void
)

इस समापन बिंदु पर बाध्य इंटरफ़ेस प्राप्त करें।

विवरण
रिटर्न
इंटरफेस आईडी बाध्य इंटरफेस आईडी।

गेटबाउंडपोर्ट

uint16_t GetBoundPort(
  void
)

बात सुनो

INET_ERROR Listen(
  void
)

यूडीपी संदेश प्राप्त करने के लिए समापन बिंदु तैयार करें।

अगर State पहले से ही है kState_Listening , तो कोई आपरेशन किया जाता है, अन्यथा mState पर सेट है kState_Listening और अंत बिंदु प्राप्त यूडीपी संदेशों को तैयार किया जाता है, मंच के शब्दों के अनुसार।

विवरण
वापसी मूल्य
INET_NO_ERROR
सफलता: संदेश प्राप्त करने के लिए तैयार समापन बिंदु।
INET_ERROR_INCORRECT_STATE
समापन बिंदु पहले से ही सुन रहा है।

LwIP पर, इस विधि को पहले से अधिग्रहित LwIP स्टैक लॉक के साथ नहीं कहा जाना चाहिए

संदेश भेजें

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

एक निर्दिष्ट गंतव्य के लिए एक यूडीपी संदेश भेजें।

 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
यूडीपी संदेश के लिए स्रोत और गंतव्य जानकारी
[in] msg
एक पैकेट बफर जिसमें यूडीपी संदेश होता है
[in] sendFlags
वैकल्पिक प्रसारण विकल्प झंडे flag
वापसी मूल्य
INET_NO_ERROR
सफलता: msg संचारित के लिए कतारबद्ध है।
INET_ERROR_NOT_SUPPORTED
सिस्टम अनुरोधित संचालन का समर्थन नहीं करता है।
INET_ERROR_WRONG_ADDRESS_TYPE
गंतव्य पते और बाध्य इंटरफ़ेस पते में मेल खाने वाले प्रोटोकॉल संस्करण या पता प्रकार नहीं हैं।
INET_ERROR_MESSAGE_TOO_LONG
msg पूरे यूडीपी संदेश शामिल नहीं है।
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
)

निर्दिष्ट गंतव्य पते पर एक यूडीपी संदेश भेजें।

 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
गंतव्य आईपी पता
[in] port
गंतव्य यूडीपी पोर्ट
[in] intfId
एक वैकल्पिक नेटवर्क इंटरफ़ेस संकेतक
[in] msg
पैकेट बफर जिसमें यूडीपी संदेश होता है
[in] sendFlags
वैकल्पिक संचारण विकल्प झंडे
वापसी मूल्य
INET_NO_ERROR
सफलता: msg संचारित के लिए कतारबद्ध है।
INET_ERROR_NOT_SUPPORTED
सिस्टम अनुरोधित संचालन का समर्थन नहीं करता है।
INET_ERROR_WRONG_ADDRESS_TYPE
गंतव्य पते और बाध्य इंटरफ़ेस पते में मेल खाने वाले प्रोटोकॉल संस्करण या पता प्रकार नहीं हैं।
INET_ERROR_MESSAGE_TOO_LONG
msg पूरे यूडीपी संदेश शामिल नहीं है।
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
कुछ प्लेटफार्मों पर, का केवल एक छोटा कर दिया भाग msg संचारित के लिए कतारबद्ध किया गया था।
other
अन्य सिस्टम या प्लेटफ़ॉर्म त्रुटि