nl::Inet::UDPEndPoint

#include <src/inet/UDPEndPoint.h>

इस क्लास के ऑब्जेक्ट, यूडीपी ट्रांसपोर्ट एंडपॉइंट को दिखाते हैं.

खास जानकारी

Nest Inet लेयर, यूडीपी ट्रांसपोर्ट एंडपॉइंट (Linux पर SOCK_DGRAM सॉकेट और Linux और BSD से जुड़े सिस्टम पर SOCK_DGRAM सॉकेट) या LwIP UDP प्रोटोकॉल कंट्रोल ब्लॉक से इंटरैक्ट करने के तरीकों को इनकैप्सुलेट करता है. ऐसा इसलिए किया जाता है, क्योंकि सिस्टम को इसके हिसाब से कॉन्फ़िगर किया जाता है.

इनहेरिटेंस

इनसे इनहेरिट किया जाता है: nl::Inet::IPEndPointBasis

सार्वजनिक फ़ंक्शन

Bind(IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
एंडपॉइंट को किसी इंटरफ़ेस आईपी पते से बाइंड करें.
BindInterface(IPAddressType addrType, InterfaceId intf)
एंडपॉइंट को नेटवर्क इंटरफ़ेस से बाइंड करें.
Close(void)
void
एंडपॉइंट को बंद करें.
Free(void)
void
एंडपॉइंट को बंद करें और उसकी मेमोरी को रीसाइकल करें.
GetBoundInterface(void)
InterfaceId
इस एंडपॉइंट पर बाउंड इंटरफ़ेस पाएं.
GetBoundPort(void)
uint16_t
Listen(void)
यूडीपी मैसेज पाने के लिए, एंडपॉइंट तैयार करें.
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
)

एंडपॉइंट को किसी इंटरफ़ेस आईपी पते से बाइंड करें.

एंडपॉइंट को बताए गए नेटवर्क इंटरफ़ेस के आईपी पते से बाइंड करता है.

जानकारी
पैरामीटर
[in] addrType
आईपी पते का प्रोटोकॉल वर्शन
[in] addr
आईपी पता (इंटरफ़ेस पता होना चाहिए)
[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 स्टैक लॉक के साथ कॉल नहीं किया जाना चाहिए.

BindInterface

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 है, तो एंडपॉइंट को बंद कर देता है. इसे कम्यूनिकेशन इवेंट के लिए ज़रूरी शर्तें पूरी करने वाले एंडपॉइंट के सेट से हटा दिया जाता है.

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

मुफ़्त

void Free(
  void
)

एंडपॉइंट को बंद करें और उसकी मेमोरी को रीसाइकल करें.

यह Close तरीके को शुरू करता है. इसके बाद, ऑब्जेक्ट को उसके मेमोरी पूल में वापस भेजने के लिए, InetLayerBasis::Release मेथड को शुरू करता है.

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

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

इस एंडपॉइंट पर बाउंड इंटरफ़ेस पाएं.

जानकारी
लौटाए जाने वाले प्रॉडक्ट
इंटरफ़ेस आईडी बाउंड इंटरफ़ेस आईडी.

GetBoundPort

uint16_t GetBoundPort(
  void
)

सुनें

INET_ERROR Listen(
  void
)

यूडीपी मैसेज पाने के लिए, एंडपॉइंट तैयार करें.

अगर State पहले से kState_Listening पर सेट है, तो कोई कार्रवाई नहीं की जाएगी. ऐसा न होने पर, mState kState_Listening पर सेट हो जाता है. साथ ही, प्लैटफ़ॉर्म के सिमेंटिक्स के हिसाब से, एंडपॉइंट यूडीपी मैसेज पाने के लिए तैयार होता है.

जानकारी
रिटर्न वैल्यू
INET_NO_ERROR
सफलता: एंडपॉइंट मैसेज पाने के लिए तैयार है.
INET_ERROR_INCORRECT_STATE
एंडपॉइंट पहले से ही सुन रहा है.

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

SendMsg

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
वैकल्पिक ट्रांसमिट करने के विकल्प के फ़्लैग
रिटर्न वैल्यू
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
सिस्टम या प्लैटफ़ॉर्म की कोई दूसरी गड़बड़ी

SendTo

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

SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags) का समानार्थी शब्द.

SendTo

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 में पूरा UDP मैसेज शामिल नहीं है.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
कुछ प्लैटफ़ॉर्म पर, msg का सिर्फ़ छोटा सा हिस्सा ही भेजने के लिए लाइन में था.
other
सिस्टम या प्लैटफ़ॉर्म की कोई दूसरी गड़बड़ी