nl::Inet::UDPEndPoint

#include <src/inet/UDPEndPoint.h>

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

खास जानकारी

Nest Inet लेयर, यूडीपी ट्रांसपोर्ट एंडपॉइंट (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
)

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

जानकारी
लौटाए गए सामान
InterfaceId बाउंड इंटरफ़ेस आईडी.

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