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

#include <src/inet/TCPEndPoint.h>

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

सारांश

नेस्ट इनेट लेयर टीसीपी ट्रांसपोर्ट एंडपॉइंट्स (लिनक्स और बीएसडी-व्युत्पन्न सिस्टम पर SOCK_STREAM सॉकेट्स) या LwIP टीसीपी प्रोटोकॉल कंट्रोल ब्लॉक्स के साथ इंटरैक्ट करने के तरीकों को इनकैप्सुलेट करता है, क्योंकि सिस्टम तदनुसार कॉन्फ़िगर किया गया है।

विरासत

: से विरासत में मिली nl :: मंत्रिमंडल :: EndPointBasis

सार्वजनिक प्रकार

@10 {
kState_Ready = kBasisState_Closed,
kState_Bound = 1,
kState_Listening = 2,
kState_Connecting = 3,
kState_Connected = 4,
kState_SendShutdown = 5,
kState_ReceiveShutdown = 6,
kState_Closing = 7,
kState_Closed = 8
}
एन्यूम
अंतर्निहित समापन बिंदु की मूल गतिशील स्थिति।
OnAcceptErrorFunct )(TCPEndPoint *endPoint, INET_ERROR err) टाइपडीफ
void(*
कनेक्शन स्वीकृति त्रुटि ईवेंट हैंडलिंग फ़ंक्शन का प्रकार।
OnConnectCompleteFunct )(TCPEndPoint *endPoint, INET_ERROR err) टाइपडीफ
void(*
कनेक्शन स्थापना ईवेंट हैंडलिंग फ़ंक्शन का प्रकार।
OnConnectionClosedFunct )(TCPEndPoint *endPoint, INET_ERROR err) टाइपडीफ
void(*
कनेक्शन स्थापना ईवेंट हैंडलिंग फ़ंक्शन का प्रकार।
OnConnectionReceivedFunct )(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) टाइपडीफ
void(*
कनेक्शन का प्रकार प्राप्त इवेंट हैंडलिंग फ़ंक्शन।
OnDataReceivedFunct )(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) टाइपडीफ
void(*
डेटा रिसेप्शन इवेंट हैंडलिंग फ़ंक्शन का प्रकार।
OnDataSentFunct )(TCPEndPoint *endPoint, uint16_t len) टाइपडीफ
void(*
डेटा ट्रांसमिशन इवेंट हैंडलिंग फ़ंक्शन का प्रकार।
OnPeerCloseFunct )(TCPEndPoint *endPoint) टाइपडीफ
void(*
हाफ-क्लोज रिसेप्शन इवेंट हैंडलिंग फंक्शन का प्रकार।
OnTCPSendIdleChangedFunct )(TCPEndPoint *endPoint, bool isIdle) टाइपडीफ
void(*
TCP SendIdle का प्रकार परिवर्तित सिग्नल हैंडलिंग फ़ंक्शन।

सार्वजनिक गुण

OnAcceptError
समापन बिंदु का कनेक्शन स्वीकृति ईवेंट हैंडलिंग फ़ंक्शन प्रतिनिधि।
OnConnectComplete
समापन बिंदु का कनेक्शन स्थापना ईवेंट हैंडलिंग फ़ंक्शन प्रतिनिधि।
OnConnectionClosed
एंडपॉइंट का क्लोज इवेंट हैंडलिंग फंक्शन डेलिगेट।
OnConnectionReceived
एंडपॉइंट का कनेक्शन इवेंट हैंडलिंग फंक्शन डेलिगेट प्राप्त करता है।
OnDataReceived
एंडपॉइंट का संदेश टेक्स्ट रिसेप्शन इवेंट हैंडलिंग फ़ंक्शन प्रतिनिधि।
OnDataSent
एंडपॉइंट का मैसेज टेक्स्ट ट्रांसमिशन इवेंट हैंडलिंग फंक्शन डेलिगेट।
OnPeerClose
एंडपॉइंट का आधा-बंद ईवेंट हैंडलिंग फ़ंक्शन प्रतिनिधि प्राप्त करता है।
OnTCPSendIdleChanged
जब TCP कनेक्शन के सेंड चैनल की निष्क्रियता में परिवर्तन होता है, तो इवेंट हैंडलिंग फंक्शन डेलिगेट एंडपॉइंट सिग्नलिंग का प्रतिनिधि होता है।
ReceiveEnabled
bool
नियंत्रण स्विच यह दर्शाता है कि एप्लिकेशन डेटा प्राप्त कर रहा है या नहीं।
State
enum nl::Inet::TCPEndPoint::@10
अंतर्निहित समापन बिंदु की मूल गतिशील स्थिति।

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

Abort (void)
void
समापन बिंदु को गर्भपात के रूप में बंद करें, दूसरे शब्दों में, RST पैकेट भेजें।
AckReceive (uint16_t len)
संदेश पाठ की प्राप्ति की पावती।
Bind (IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
समापन बिंदु को एक इंटरफ़ेस IP पते से बाइंड करें।
Close (void)
टीसीपी पूर्ण रूप से आरंभ करें, दूसरे शब्दों में, भेजने और प्राप्त करने दोनों के साथ समाप्त हो गया।
Connect ( IPAddress addr, uint16_t port, InterfaceId intf)
एक टीसीपी कनेक्शन शुरू करें।
DisableKeepAlive (void)
TCP "कीप-अलाइव" विकल्प को अक्षम करें।
DisableReceive (void)
void
रिसेप्शन अक्षम करें।
EnableKeepAlive (uint16_t interval, uint16_t timeoutCount)
टीसीपी "कीप-अलाइव" विकल्प को सक्षम करें।
EnableNoDelay (void)
नो डिले सक्षम करें।
EnableReceive (void)
void
रिसेप्शन सक्षम करें।
Free (void)
void
त्रुटियों को अनदेखा करते हुए, टीसीपी को पूर्ण रूप से आरंभ (या जारी रखें)।
GetLocalInfo ( IPAddress *retAddr, uint16_t *retPort)
स्थानीय समापन बिंदु का IP पता और TCP पोर्ट निकालें।
GetPeerInfo ( IPAddress *retAddr, uint16_t *retPort) const
दूरस्थ समापन बिंदु का IP पता और TCP पोर्ट निकालें।
IsConnected (void) const
bool
निकालें कि क्या टीसीपी कनेक्शन स्थापित है।
Listen (uint16_t backlog)
टीसीपी संदेश प्राप्त करने के लिए समापन बिंदु तैयार करें।
LogId (void)
uint16_t
समापन बिंदु के लिए एक पहचानकर्ता प्राप्त करें।
MarkActive (void)
void
नोट गतिविधि, दूसरे शब्दों में, निष्क्रिय टाइमर को रीसेट करें।
PendingReceiveLength (void)
uint32_t
अस्वीकृत प्राप्त डेटा की लंबाई निकालें।
PendingSendLength (void)
uint32_t
पहले ट्रांसमिट की प्रतीक्षा कर रहे डेटा की लंबाई निकालें।
PutBackReceivedData ( Weave::System::PacketBuffer *data)
संदेश पाठ को वापस प्राप्त कतार के शीर्ष पर पुश करें।
Send ( Weave::System::PacketBuffer *data, bool push)
टीसीपी कनेक्शन पर संदेश पाठ भेजें।
SetConnectTimeout (const uint32_t connTimeoutMsecs)
void
कनेक्ट के सफल होने या त्रुटि वापस करने के लिए टाइमआउट सेट करें।
SetUserTimeout (uint32_t userTimeoutMillis)
TCP TCP_USER_TIMEOUT सॉकेट विकल्प सेट करें।
Shutdown (void)
टीसीपी को आधा बंद करें, दूसरे शब्दों में, भेजने के साथ समाप्त हो गया।

सार्वजनिक प्रकार

@10

 @10

अंतर्निहित समापन बिंदु की मूल गतिशील स्थिति।

वस्तुओं को "तैयार" स्थिति में प्रारंभ किया जाता है, टीसीपी परिवहन राज्य मशीन के राज्यों के सरलीकरण के अनुरूप बाद के राज्यों में आगे बढ़ें।

नोट: kBasisState_Closed राज्य गणन को मैप किया है kState_Ready ऐतिहासिक बाइनरी-संगतता कारणों के लिए। मौजूदा kState_Closed अलग है कि पहले से ही अस्तित्व में में के बीच "अभी तक खोला नहीं" और "पहले खोली अब बंद हो गया" भेद की पहचान के लिए मौजूद है kState_Ready और kState_Closed राज्यों।

गुण
kState_Bound

समापन बिंदु बाध्य है, लेकिन सुन नहीं रहा है।

kState_Closed

समापन बिंदु बंद है, रिलीज के लिए तैयार है।

kState_Closing

समापन बिंदु द्विदिश रूप से बंद हो रहा है।

kState_Connected

समापन बिंदु जुड़ा हुआ है, tx/rx के लिए तैयार है।

kState_Connecting

समापन बिंदु कनेक्ट करने का प्रयास कर रहा है।

kState_Listening

समापन बिंदु कनेक्शन प्राप्त करना।

kState_Ready

समापन बिंदु आरंभ किया गया, लेकिन बाध्य नहीं।

kState_ReceiveShutdown

एंडपॉइंट ने आधा-बंद करने का जवाब दिया।

kState_SendShutdown

समापन बिंदु ने अपना आधा बंद शुरू किया।

OnAcceptErrorFunction

void(* OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err)

कनेक्शन स्वीकृति त्रुटि ईवेंट हैंडलिंग फ़ंक्शन का प्रकार।

करने के लिए इस प्रकार के एक समारोह प्रदान करें OnAcceptError प्रक्रिया कनेक्शन पर स्वीकृति त्रुटि की घटनाओं के लिए प्रतिनिधि सदस्य endPointerr तर्क त्रुटि के प्रकार के बारे में विशिष्ट विस्तार प्रदान करता है।

विवरण
मापदंडों
[in] endPoint
घटना से जुड़ा टीसीपी समापन बिंदु।
[in] err
त्रुटि का कारण।

ऑनकनेक्टकंप्लीट फंक्शन

void(* OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err)

कनेक्शन स्थापना ईवेंट हैंडलिंग फ़ंक्शन का प्रकार।

करने के लिए इस प्रकार के एक समारोह प्रदान करें OnConnectComplete पर कनेक्शन स्थापना की घटनाओं पर कार्रवाई करने के प्रतिनिधि सदस्य endPointerr तर्क विफलताओं से सफल कनेक्शन अलग करता है।

विवरण
मापदंडों
[in] endPoint
घटना से जुड़ा टीसीपी समापन बिंदु।
[in] err
INET_NO_ERROR अगर सफलता, और एक और कोड।

कनेक्शन पर बंद समारोह

void(* OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err)

कनेक्शन स्थापना ईवेंट हैंडलिंग फ़ंक्शन का प्रकार।

करने के लिए इस प्रकार के एक समारोह प्रदान करें OnConnectionClosed पर प्रक्रिया कनेक्शन समाप्ति की घटनाओं के प्रतिनिधि सदस्य endPointerr तर्क विफलताओं से सफल समाप्ति के अलग करता है।

विवरण
मापदंडों
[in] endPoint
घटना से जुड़ा टीसीपी समापन बिंदु।
[in] err
INET_NO_ERROR अगर सफलता, और एक और कोड।

OnConnectionReceivedFunction

void(* OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort)

कनेक्शन का प्रकार प्राप्त ईवेंट हैंडलिंग फ़ंक्शन।

करने के लिए इस प्रकार के एक समारोह प्रदान करें OnConnectionReceived पर प्रक्रिया कनेक्शन स्वागत घटनाओं के लिए प्रतिनिधि सदस्य listeningEndPoint । नव प्राप्त endpoint conEndPoint आईपी पते पर स्थित है peerAddr और TCP पोर्ट peerPort

विवरण
मापदंडों
[in] listeningEndPoint
टीसीपी समापन बिंदु सुन रहा है।
[in] conEndPoint
नया प्राप्त TCP समापन बिंदु।
[in] peerAddr
दूरस्थ सहकर्मी का IP पता।
[in] peerPort
रिमोट पीयर का टीसीपी पोर्ट।

OnDataReceivedFunction

void(* OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data)

डेटा रिसेप्शन इवेंट हैंडलिंग फ़ंक्शन का प्रकार।

करने के लिए इस प्रकार के एक समारोह प्रदान करें OnDataReceived पर प्रक्रिया डेटा स्वागत घटनाओं के लिए प्रतिनिधि सदस्य endPoint जहां data प्राप्त संदेश पाठ है।

विवरण
मापदंडों
[in] endPoint
घटना से जुड़ा टीसीपी समापन बिंदु।
[in] data
डेटा प्राप्त हुआ।

एक डाटा स्वागत ईवेंट हैंडलर का उपयोग कर संसाधित डेटा स्वीकार करना चाहिए AckReceive विधि। Free , जब तक कि डेटा बफर पर विधि को भी लागू किया जाना चाहिए PutBackReceivedData बजाय प्रयोग किया जाता है।

OnDataSentFunction

void(* OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len)

डेटा ट्रांसमिशन इवेंट हैंडलिंग फ़ंक्शन का प्रकार।

करने के लिए इस प्रकार के एक समारोह प्रदान करें OnDataSent पर प्रक्रिया आंकड़ा संचरण की घटनाओं के लिए प्रतिनिधि सदस्य endPoint जहां len संदेश पाठ टीसीपी संचारित विंडो में जोड़ की लंबाई है, जो अंतर्निहित नेटवर्क ढेर से भेजने के लिए पात्र हैं।

विवरण
मापदंडों
[in] endPoint
घटना से जुड़ा टीसीपी समापन बिंदु।
[in] len
ट्रांसमिट विंडो में जोड़े गए बाइट्स की संख्या।

ऑनपीयर क्लोज फंक्शन

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

हाफ-क्लोज रिसेप्शन इवेंट हैंडलिंग फंक्शन का प्रकार।

करने के लिए इस प्रकार के एक समारोह प्रदान करें OnPeerClose पर कनेक्शन समाप्ति की घटनाओं पर कार्रवाई करने के प्रतिनिधि सदस्य endPoint

विवरण
मापदंडों
[in] endPoint
घटना से जुड़ा टीसीपी समापन बिंदु।

OnTCPSendIdleChangedFunction

void(* OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle)

टीसीपी SendIdle के प्रकार ने सिग्नल हैंडलिंग फ़ंक्शन को बदल दिया।

करने के लिए इस प्रकार के एक समारोह प्रदान करें OnTCPSendIdleChanged के भेजने चैनल की घटना पर कार्रवाई करने के प्रतिनिधि सदस्य TCPEndPoint निष्क्रिय और निष्क्रिय नहीं किया जा रहा के बीच राज्य बदल रहा है।

विवरण
मापदंडों
[in] endPoint
घटना से जुड़ा टीसीपी समापन बिंदु।
[in] isIdle
सही है अगर टीसीपी एंडपॉइंट का प्रेषण चैनल निष्क्रिय है, अन्यथा झूठा है।

सार्वजनिक गुण

स्वीकार करने में त्रुटि

OnAcceptErrorFunct OnAcceptError

समापन बिंदु का कनेक्शन स्वीकृति ईवेंट हैंडलिंग फ़ंक्शन प्रतिनिधि।

ऑनकनेक्टपूर्णComp

OnConnectCompleteFunct OnConnectComplete

समापन बिंदु का कनेक्शन स्थापना ईवेंट हैंडलिंग फ़ंक्शन प्रतिनिधि।

कनेक्शन पर बंद

OnConnectionClosedFunct OnConnectionClosed

एंडपॉइंट का क्लोज इवेंट हैंडलिंग फंक्शन डेलिगेट।

ऑनकनेक्शनप्राप्त

OnConnectionReceivedFunct OnConnectionReceived

एंडपॉइंट का कनेक्शन इवेंट हैंडलिंग फंक्शन डेलिगेट प्राप्त करता है।

OnDataReceived

OnDataReceivedFunct OnDataReceived

एंडपॉइंट का संदेश टेक्स्ट रिसेप्शन इवेंट हैंडलिंग फंक्शन डेलिगेट।

OnDataSent

OnDataSentFunct OnDataSent

एंडपॉइंट का मैसेज टेक्स्ट ट्रांसमिशन इवेंट हैंडलिंग फंक्शन डेलिगेट।

ऑनपीयर क्लोज

OnPeerCloseFunct OnPeerClose

एंडपॉइंट का आधा-बंद ईवेंट हैंडलिंग फ़ंक्शन प्रतिनिधि प्राप्त करता है।

OnTCPSendIdleबदला गया

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

जब TCP कनेक्शन के सेंड चैनल की निष्क्रियता में परिवर्तन होता है, तो इवेंट हैंडलिंग फंक्शन डेलिगेट एंडपॉइंट सिग्नलिंग का प्रतिनिधि होता है।

इसका उपयोग ऊपरी परतों द्वारा इस आधार पर उचित कार्रवाई करने के लिए किया जाता है कि भेजा गया डेटा विश्वसनीय रूप से सहकर्मी को दिया गया है या नहीं।

प्राप्त सक्षम

bool ReceiveEnabled

नियंत्रण स्विच यह दर्शाता है कि एप्लिकेशन डेटा प्राप्त कर रहा है या नहीं।

राज्य

enum nl::Inet::TCPEndPoint::@10 State

अंतर्निहित समापन बिंदु की मूल गतिशील स्थिति।

वस्तुओं को "तैयार" स्थिति में प्रारंभ किया जाता है, टीसीपी परिवहन राज्य मशीन के राज्यों के सरलीकरण के अनुरूप बाद के राज्यों में आगे बढ़ें।

नोट: kBasisState_Closed राज्य गणन को मैप किया है kState_Ready ऐतिहासिक बाइनरी-संगतता कारणों के लिए। मौजूदा kState_Closed अलग है कि पहले से ही अस्तित्व में में के बीच "अभी तक खोला नहीं" और "पहले खोली अब बंद हो गया" भेद की पहचान के लिए मौजूद है kState_Ready और kState_Closed राज्यों।

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

बीच में बंद करें

void Abort(
  void
)

समापन बिंदु को गर्भपात के रूप में बंद करें, दूसरे शब्दों में, RST पैकेट भेजें।

प्राप्त करेंce

INET_ERROR AckReceive(
  uint16_t len
)

संदेश पाठ की प्राप्ति की पावती।

इस पद्धति का उपयोग प्राप्त डेटा के सभी या उसके हिस्से के स्वागत को स्वीकार करने के लिए करें। परिचालन अर्थ विज्ञान अपरिभाषित रहे हैं len कुल बकाया अस्वीकृत प्राप्त डेटा से बड़ा है।

विवरण
मापदंडों
[in] len
स्वीकार करने के लिए बाइट्स की संख्या।
वापसी मूल्य
INET_NO_ERROR
सफलता: स्वागत स्वीकार किया।
INET_ERROR_INCORRECT_STATE
टीसीपी कनेक्शन स्थापित नहीं है।
INET_ERROR_CONNECTION_ABORTED
टीसीपी कनेक्शन अब खुला नहीं है।

बाइंड

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  bool reuseAddr
)

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

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

विवरण
मापदंडों
[in] addrType
आईपी ​​​​पते का प्रोटोकॉल संस्करण
[in] addr
IP पता (इंटरफ़ेस पता होना चाहिए)
[in] port
टीसीपी पोर्ट
[in] reuseAddr
अन्य समापन बिंदुओं के साथ बाइंडिंग साझा करने का विकल्प
वापसी मूल्य
INET_NO_ERROR
सफलता: पता करने के लिए बाध्य समापन बिंदु
INET_ERROR_INCORRECT_STATE
समापन बिंदु पहले बाध्य किया गया है
INET_NO_MEMORY
समापन बिंदु के लिए अपर्याप्त स्मृति
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType से मेल नहीं खाता IPVer
INET_ERROR_WRONG_ADDRESS_TYPE
addrType है kIPAddressType_Any , या के प्रकार addr के बराबर नहीं है addrType
other
अन्य सिस्टम या प्लेटफ़ॉर्म त्रुटि

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

बंद करे

INET_ERROR Close(
  void
)

टीसीपी पूर्ण रूप से आरंभ करें, दूसरे शब्दों में, भेजने और प्राप्त करने दोनों के साथ समाप्त हो गया।

विवरण
वापसी मूल्य
INET_NO_ERROR
सफलता: पता और बंदरगाह निकाला गया।
INET_ERROR_INCORRECT_STATE
टीसीपी कनेक्शन स्थापित नहीं है।
other
अन्य सिस्टम या प्लेटफ़ॉर्म त्रुटि

जुडिये

INET_ERROR Connect(
  IPAddress addr,
  uint16_t port,
  InterfaceId intf
)

एक टीसीपी कनेक्शन शुरू करें।

 If possible, then this method initiates a TCP connection to the
 destination \c addr (with \c intf used as the scope
 identifier for IPv6 link-local destinations) and \c port.

विवरण
मापदंडों
[in] addr
गंतव्य आईपी पता
[in] port
गंतव्य टीसीपी पोर्ट
[in] intf
एक वैकल्पिक नेटवर्क इंटरफ़ेस संकेतक
वापसी मूल्य
INET_NO_ERROR
सफलता: msg संचारित के लिए कतारबद्ध है।
INET_ERROR_NOT_IMPLEMENTED
सिस्टम का क्रियान्वयन पूरा नहीं
INET_ERROR_WRONG_ADDRESS_TYPE
गंतव्य पता और बाध्य इंटरफ़ेस पते के मिलान प्रोटोकॉल संस्करणों या पता प्रकार की जरूरत नहीं है, या गंतव्य पता एक IPv6 लिंक-लोकल पता है और intf निर्दिष्ट नहीं है।
other
अन्य सिस्टम या प्लेटफ़ॉर्म त्रुटि

जीवित रखें अक्षम करें

INET_ERROR DisableKeepAlive(
  void
)

TCP "कीप-अलाइव" विकल्प को अक्षम करें।

TCPEndPoint :: DisableKeepAlive

संबद्ध TCP कनेक्शन पर TCP Keepalive जांच अक्षम करें।

विवरण
वापसी मूल्य
INET_NO_ERROR
सफलता: पता और बंदरगाह निकाला गया।
INET_ERROR_INCORRECT_STATE
टीसीपी कनेक्शन स्थापित नहीं है।
INET_ERROR_CONNECTION_ABORTED
टीसीपी कनेक्शन अब खुला नहीं है।
INET_ERROR_NOT_IMPLEMENTED
सिस्टम का क्रियान्वयन पूरा नहीं
other
अन्य सिस्टम या प्लेटफ़ॉर्म त्रुटि

नोट: जब endpoint जुड़े राज्यों में से एक है यह विधि केवल कहा जा सकता है। यदि समापन बिंदु पर रखवाले सक्षम नहीं किए गए हैं तो यह विधि कुछ नहीं करती है।

अक्षम प्राप्त करें

void DisableReceive(
  void
)

रिसेप्शन अक्षम करें।

सभी ईवेंट हैंडलर अक्षम करें। रिसेप्शन को अक्षम करने वाले एंडपॉइंट पर भेजे गए डेटा को तब तक स्वीकार किया जाएगा जब तक कि रिसीव विंडो समाप्त न हो जाए।

जीवित रखें सक्षम करें

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

टीसीपी "कीप-अलाइव" विकल्प को सक्षम करें।

TCPEndPoint :: EnableKeepAlive

स्वचालित रूप से संचारण टीसीपी "रखने जिंदा" जांच खंडों हर शुरू interval सेकंड। कनेक्शन स्वचालित रूप से रद्द कर देगा एक नकारात्मक प्रतिक्रिया प्राप्त करने के बाद, या भेजने के बाद timeoutCount एक सकारात्मक प्रतिक्रिया प्राप्त करने के बिना जांच खंडों।

विवरण
मापदंडों
[in] interval
जांच अनुरोधों के बीच सेकंड में समय।
[in] timeoutCount
जांच की संख्या समयबाह्य से पहले भेजने के लिए।
वापसी मूल्य
INET_NO_ERROR
सफलता: पता और बंदरगाह निकाला गया।
INET_ERROR_INCORRECT_STATE
टीसीपी कनेक्शन स्थापित नहीं है।
INET_ERROR_CONNECTION_ABORTED
टीसीपी कनेक्शन अब खुला नहीं है।
INET_ERROR_NOT_IMPLEMENTED
सिस्टम का क्रियान्वयन पूरा नहीं
other
अन्य सिस्टम या प्लेटफ़ॉर्म त्रुटि

विनिर्देश विवरण के लिए RFC 1122, खंड 4.2.3.6 देखें।

संबद्ध TCP कनेक्शन पर TCP Keepalive जांच सक्षम करें।

नोट: जब endpoint जुड़े राज्यों में से एक है यह विधि केवल कहा जा सकता है। रखरखाव अंतराल या टाइमआउट गिनती को समायोजित करने के लिए इस विधि को कई बार बुलाया जा सकता है।

विवरण
मापदंडों
interval
रखरखाव जांच के बीच अंतराल (सेकंड में)। यह मान भेजे गए अंतिम डेटा पैकेट और पहले कीपलाइव जांच के प्रसारण के बीच के समय को भी नियंत्रित करता है।
timeoutCount
कनेक्शन से पहले अस्वीकृत जांच की अधिकतम संख्या को विफल माना जाएगा।

सक्षम नहीं विलंब

INET_ERROR EnableNoDelay(
  void
)

नो डिले सक्षम करें।

TCPEndPoint :: EnableNoDelay

TCP_NODELAY सॉकेट विकल्प सेट करके TCP में नाग बफ़रिंग एल्गोरिथ्म को बंद करें।

सक्षम करें प्राप्त करें

void EnableReceive(
  void
)

रिसेप्शन सक्षम करें।

सभी ईवेंट हैंडलर सक्षम करें। रिसेप्शन को अक्षम करने वाले एंडपॉइंट पर भेजे गए डेटा को तब तक स्वीकार किया जाएगा जब तक कि रिसीव विंडो समाप्त न हो जाए।

नि: शुल्क

void Free(
  void
)

त्रुटियों को अनदेखा करते हुए, TCP को पूर्ण रूप से प्रारंभ करें (या जारी रखें)।

ऑब्जेक्ट को फ्री पूल में वापस कर दिया जाता है, और शेष सभी उपयोगकर्ता संदर्भ बाद में अमान्य हैं।

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

स्थानीय समापन बिंदु का IP पता और TCP पोर्ट निकालें।

का प्रयोग न करें NULL या तो तर्क के लिए सूचक मान।

विवरण
मापदंडों
[out] retAddr
स्थानीय समापन बिंदु का IP पता।
[out] retPort
स्थानीय समापन बिंदु का टीसीपी पोर्ट।
वापसी मूल्य
INET_NO_ERROR
सफलता: पता और बंदरगाह निकाला गया।
INET_ERROR_INCORRECT_STATE
टीसीपी कनेक्शन स्थापित नहीं है।
INET_ERROR_CONNECTION_ABORTED
टीसीपी कनेक्शन अब खुला नहीं है।

गेटपीयरइन्फो

INET_ERROR GetPeerInfo(
  IPAddress *retAddr,
  uint16_t *retPort
) const 

दूरस्थ समापन बिंदु का IP पता और TCP पोर्ट निकालें।

का प्रयोग न करें NULL या तो तर्क के लिए सूचक मान।

विवरण
मापदंडों
[out] retAddr
दूरस्थ समापन बिंदु का IP पता।
[out] retPort
रिमोट एंडपॉइंट का टीसीपी पोर्ट।
वापसी मूल्य
INET_NO_ERROR
सफलता: पता और बंदरगाह निकाला गया।
INET_ERROR_INCORRECT_STATE
टीसीपी कनेक्शन स्थापित नहीं है।
INET_ERROR_CONNECTION_ABORTED
टीसीपी कनेक्शन अब खुला नहीं है।

जुड़ा हुआ है

bool IsConnected(
  void
) const 

निकालें कि क्या टीसीपी कनेक्शन स्थापित है।

बात सुनो

INET_ERROR Listen(
  uint16_t backlog
)

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

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

विवरण
मापदंडों
[in] backlog
कनेक्शन स्वीकृति कतार की अधिकतम गहराई
वापसी मूल्य
INET_NO_ERROR
सफलता: संदेश प्राप्त करने के लिए तैयार समापन बिंदु।
INET_ERROR_INCORRECT_STATE
समापन बिंदु पहले से ही सुन रहा है।

कुछ प्लेटफार्मों पर, backlog तर्क प्रयोग किया जाता है नहीं (कतार की गहराई तय हो गई है, केवल एक ही कनेक्शन एक समय में स्वीकार किया जा सकता है)।

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

लॉग आईडी

uint16_t LogId(
  void
)

समापन बिंदु के लिए एक पहचानकर्ता प्राप्त करें।

विवरण
रिटर्न
उपयोग लॉग के लिए एक अपारदर्शी अद्वितीय पहचानकर्ता देता है।

मार्क एक्टिव

void MarkActive(
  void
)

नोट गतिविधि, दूसरे शब्दों में, निष्क्रिय टाइमर को रीसेट करें।

निष्क्रिय टाइमर को शून्य पर रीसेट करें।

लंबितप्राप्त लंबाई

uint32_t PendingReceiveLength(
  void
)

अस्वीकृत प्राप्त डेटा की लंबाई निकालें।

विवरण
रिटर्न
में बाइट्स की संख्या कतार प्राप्त कि अभी तक के साथ स्वीकार नहीं किया गया है AckReceive(uint16_t len)

लंबितभेजेंलंबाई

uint32_t PendingSendLength(
  void
)

पहले ट्रांसमिट की प्रतीक्षा कर रहे डेटा की लंबाई निकालें।

विवरण
रिटर्न
प्रेषित कतार में असंप्रेषित बाइट्स की संख्या।

PutBackReceivedData

INET_ERROR PutBackReceivedData(
  Weave::System::PacketBuffer *data
)

संदेश पाठ को वापस प्राप्त कतार के शीर्ष पर पुश करें।

इस विधि को केवल डेटा रिसेप्शन इवेंट हैंडलर द्वारा डेटा के एक अनजान हिस्से को प्राप्त कतार पर वापस रखने के लिए बुलाया जा सकता है। परिचालन अर्थ विज्ञान अगर फोन करने वाले एक डेटा स्वागत ईवेंट हैंडलर के दायरे से बाहर है, अपरिभाषित कर रहे हैं data नहीं है Weave::System::PacketBuffer हैंडलर के लिए प्रदान की, या data के बाद शेष अस्वीकृत भाग शामिल नहीं है एक ने स्वीकार किया बाइट करने से पहले कॉल AckReceive(uint16_t len) विधि।

विवरण
मापदंडों
[out] data
पुश करने के लिए संदेश पाठ।
वापसी मूल्य
INET_NO_ERROR
सफलता: स्वागत स्वीकार किया।
INET_ERROR_INCORRECT_STATE
टीसीपी कनेक्शन स्थापित नहीं है।

संदेश

INET_ERROR Send(
  Weave::System::PacketBuffer *data,
  bool push
)

टीसीपी कनेक्शन पर संदेश पाठ भेजें।

Weave::System::PacketBuffer::Free पद्धति पर कहा जाता है data तर्क है कि क्या संचरण सफल या असफल है की परवाह किए बिना।

विवरण
मापदंडों
[out] data
भेजने के लिए संदेश पाठ।
[out] push
अगर true , तो तुरंत भेजने के लिए, अन्यथा कतार।
वापसी मूल्य
INET_NO_ERROR
सफलता: पता और बंदरगाह निकाला गया।
INET_ERROR_INCORRECT_STATE
टीसीपी कनेक्शन स्थापित नहीं है।

सेटकनेक्टटाइमआउट

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

कनेक्ट के सफल होने या त्रुटि वापस करने के लिए टाइमआउट सेट करें।

विवरण
मापदंडों
[in] connTimeoutMsecs

सेट यूज़र टाइमआउट

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

TCP TCP_USER_TIMEOUT सॉकेट विकल्प सेट करें।

TCPEndPoint :: SetUserTimeout

जब मान 0 से अधिक होता है, तो यह मिलीसेकंड में अधिकतम समय निर्दिष्ट करता है कि टीसीपी जबरन संबंधित कनेक्शन को बंद करने से पहले प्रेषित डेटा अनजान रह सकता है। यदि विकल्प मान 0 के रूप में निर्दिष्ट है, तो TCP सिस्टम डिफ़ॉल्ट का उपयोग करेगा। अधिक जानकारी के लिए RFC 5482 देखें।

विवरण
मापदंडों
[in] userTimeoutMillis
टीसीपी उपयोगकर्ता टाइमआउट मान मिलीसेकंड में।
वापसी मूल्य
INET_NO_ERROR
सफलता: पता और बंदरगाह निकाला गया।
INET_ERROR_NOT_IMPLEMENTED
सिस्टम का क्रियान्वयन पूरा नहीं
other
अन्य सिस्टम या प्लेटफ़ॉर्म त्रुटि

टीसीपी उपयोगकर्ता टाइमआउट सॉकेट विकल्प सेट करें।

जब मान 0 से अधिक होता है, तो यह मिलीसेकंड में अधिकतम समय निर्दिष्ट करता है कि टीसीपी जबरन संबंधित कनेक्शन को बंद करने से पहले प्रेषित डेटा अनजान रह सकता है। यदि विकल्प मान 0 के रूप में निर्दिष्ट है, तो TCP सिस्टम डिफ़ॉल्ट का उपयोग करेगा। अधिक जानकारी के लिए RFC 5482 देखें।

नोट: जब endpoint जुड़े राज्यों में से एक है यह विधि केवल कहा जा सकता है। रखरखाव अंतराल या टाइमआउट गिनती को समायोजित करने के लिए इस विधि को कई बार बुलाया जा सकता है।

शट डाउन

INET_ERROR Shutdown(
  void
)

टीसीपी को आधा बंद करें, दूसरे शब्दों में, भेजने के साथ समाप्त हो गया।

विवरण
वापसी मूल्य
INET_NO_ERROR
सफलता: पता और बंदरगाह निकाला गया।
INET_ERROR_INCORRECT_STATE
टीसीपी कनेक्शन स्थापित नहीं है।
other
अन्य सिस्टम या प्लेटफ़ॉर्म त्रुटि