nl :: إنت :: TCPEndPoint

#include <src/inet/TCPEndPoint.h>

تمثل كائنات هذه الفئة نقاط نهاية نقل TCP.

ملخص

تضم طبقة Nest Inet طرقًا للتفاعل مع نقاط نهاية نقل TCP (مآخذ SOCK_STREAM على أنظمة Linux والمشتقة من BSD) أو كتل التحكم في بروتوكول LwIP TCP ، حيث تم تكوين النظام وفقًا لذلك.

ميراث

يرث من: 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) typedef
void(*
نوع من الاتصال وظيفة معالجة حدث خطأ قبول.
OnConnectCompleteFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
نوع من وظيفة معالجة حدث إنشاء الاتصال.
OnConnectionClosedFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
نوع من وظيفة معالجة حدث إنشاء الاتصال.
OnConnectionReceivedFunct )(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
نوع الاتصال تلقى وظيفة معالجة الحدث.
OnDataReceivedFunct )(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
نوع وظيفة معالجة حدث استقبال البيانات.
OnDataSentFunct )(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
نوع وظيفة معالجة حدث نقل البيانات.
OnPeerCloseFunct )(TCPEndPoint *endPoint) typedef
void(*
نوع من وظيفة معالجة حدث الاستقبال نصف القريب.
OnTCPSendIdleChangedFunct )(TCPEndPoint *endPoint, bool isIdle) typedef
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)
بدء TCP الإغلاق الكامل ، بمعنى آخر ، انتهى بكل من الإرسال والاستلام.
Connect ( IPAddress addr, uint16_t port, InterfaceId intf)
بدء اتصال TCP.
DisableKeepAlive (void)
قم بتعطيل خيار TCP "البقاء على قيد الحياة".
DisableReceive (void)
void
تعطيل الاستقبال.
EnableKeepAlive (uint16_t interval, uint16_t timeoutCount)
قم بتمكين خيار TCP "البقاء على قيد الحياة".
EnableNoDelay (void)
EnableNoDelay.
EnableReceive (void)
void
تمكين الاستقبال.
Free (void)
void
بدء (أو متابعة) إغلاق TCP الكامل ، وتجاهل الأخطاء.
GetLocalInfo ( IPAddress *retAddr, uint16_t *retPort)
استخراج عنوان IP ومنفذ TCP لنقطة النهاية المحلية.
GetPeerInfo ( IPAddress *retAddr, uint16_t *retPort) const
استخراج عنوان IP ومنفذ TCP لنقطة النهاية البعيدة.
IsConnected (void) const
bool
استخرج ما إذا كان اتصال TCP قد تم إنشاؤه.
Listen (uint16_t backlog)
جهز نقطة النهاية لتلقي رسائل TCP.
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)
إرسال نص رسالة على اتصال TCP.
SetConnectTimeout (const uint32_t connTimeoutMsecs)
void
اضبط مهلة الاتصال بنجاح أو إرجاع خطأ.
SetUserTimeout (uint32_t userTimeoutMillis)
قم بتعيين خيار مأخذ التوصيل TCP TCP_USER_TIMEOUT.
Shutdown (void)
ابدأ بنصف بروتوكول TCP قريبًا ، بمعنى آخر ، انتهى من الإرسال.

الأنواع العامة

@ 10

 @10

الحالة الديناميكية الأساسية لنقطة النهاية الأساسية.

تتم تهيئة الكائنات في الحالة "الجاهزة" ، انتقل إلى الحالات اللاحقة المقابلة لتبسيط حالات جهاز حالة النقل TCP.

ملاحظة: 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

بدأت نقطة النهاية نصف الإغلاق.

OnAcceptErrorFunct

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

نوع من الاتصال وظيفة معالجة حدث خطأ قبول.

توفير وظيفة من هذا النوع إلى OnAcceptError عضو ان ينيب اتصال العملية أحداث خطأ القبول في endPoint . و err توفر حجة تفاصيل محددة حول نوع الخطأ.

تفاصيل
المعلمات
[in] endPoint
نقطة نهاية TCP المرتبطة بالحدث.
[in] err
سبب الخطأ.

OnConnectCompleteFunct

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

نوع من وظيفة معالجة حدث إنشاء الاتصال.

توفير وظيفة من هذا النوع إلى OnConnectComplete عضو مندوب لمعالجة الأحداث تأسيس اتصال على endPoint . و err حجة تميز الاتصالات الناجحة من الفشل.

تفاصيل
المعلمات
[in] endPoint
نقطة نهاية TCP المرتبطة بالحدث.
[in] err
INET_NO_ERROR إذا كان النجاح، وإلا رمز آخر.

OnConnectionClosedFunct

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

نوع من وظيفة معالجة حدث إنشاء الاتصال.

توفير وظيفة من هذا النوع إلى OnConnectionClosed عضو مندوب للأحداث إنهاء اتصال العملية على endPoint . و err حجة تميز إنهاء ناجحة من الفشل.

تفاصيل
المعلمات
[in] endPoint
نقطة نهاية TCP المرتبطة بالحدث.
[in] err
INET_NO_ERROR إذا كان النجاح، وإلا رمز آخر.

OnConnectionR ReceivedFunct

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

نوع الاتصال تلقى وظيفة معالجة الحدث.

توفير وظيفة من هذا النوع إلى OnConnectionReceived عضو مندوب للأحداث استقبال اتصال العملية على listeningEndPoint . نقطة النهاية المستلمة حديثا conEndPoint يقع في عنوان IP peerAddr ومنفذ TCP peerPort .

تفاصيل
المعلمات
[in] listeningEndPoint
نقطة نهاية TCP الاستماع.
[in] conEndPoint
نقطة نهاية TCP المستلمة حديثًا.
[in] peerAddr
عنوان IP للنظير البعيد.
[in] peerPort
منفذ TCP للنظير البعيد.

OnDataReceivedFunct

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

نوع وظيفة معالجة حدث استقبال البيانات.

توفير وظيفة من هذا النوع إلى OnDataReceived عضو مندوب للأحداث استقبال البيانات العملية على endPoint حيث data هو نص الرسالة التي وردت.

تفاصيل
المعلمات
[in] endPoint
نقطة نهاية TCP المرتبطة بالحدث.
[in] data
وردت البيانات.

معالج حدث استقبال البيانات يجب يقر البيانات التي تمت معالجتها باستخدام AckReceive الأسلوب. و Free يجب أيضا استدعاء أسلوب على المخزن المؤقت للبيانات ما لم PutBackReceivedData يستخدم بدلا من ذلك.

OnDataSentFunct

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

نوع وظيفة معالجة حدث نقل البيانات.

توفير وظيفة من هذا النوع إلى OnDataSent عضو مندوب لأحداث عملية نقل البيانات على endPoint حيث len هو طول نص الرسالة تضاف إلى نافذة الإرسال TCP، والتي هي مؤهلة للحصول على إرسال بواسطة مكدس الشبكة الأساسي.

تفاصيل
المعلمات
[in] endPoint
نقطة نهاية TCP المرتبطة بالحدث.
[in] len
عدد البايتات المضافة إلى نافذة الإرسال.

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

نوع من وظيفة معالجة حدث الاستقبال نصف القريب.

توفير وظيفة من هذا النوع إلى OnPeerClose عضو مندوب لمعالجة الأحداث إنهاء الاتصال على endPoint .

تفاصيل
المعلمات
[in] endPoint
نقطة نهاية TCP المرتبطة بالحدث.

OnTCPSendIdleChangedFunct

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

نوع من وظيفة معالجة إشارة TCP SendIdle التي تم تغييرها.

توفير وظيفة من هذا النوع إلى OnTCPSendIdleChanged عضو مندوب لمعالجة الحدث من قناة الإرسال من TCPEndPoint تغيير الدولة بين خموله وعدم الخمول.

تفاصيل
المعلمات
[in] endPoint
نقطة نهاية TCP المرتبطة بالحدث.
[in] isIdle
صواب إذا كانت قناة الإرسال لنقطة نهاية TCP خاملة ، وإلا فهي خاطئة.

السمات العامة

OnAcceptError

OnAcceptErrorFunct OnAcceptError

مفوض وظيفة معالجة قبول اتصال نقطة النهاية.

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

مفوض وظيفة معالجة حدث تأسيس اتصال نقطة النهاية.

عند الاتصال مغلق

OnConnectionClosedFunct OnConnectionClosed

مفوض وظيفة معالجة حدث إغلاق نقطة النهاية.

تم استلامه

OnConnectionReceivedFunct OnConnectionReceived

تلقي اتصال نقطة النهاية مفوض وظيفة معالجة الحدث.

تم استلام OnDataReceived

OnDataReceivedFunct OnDataReceived

مفوض وظيفة معالجة حدث استقبال الرسائل النصية لنقطة النهاية.

OnDataSent

OnDataSentFunct OnDataSent

مفوض وظيفة معالجة حدث إرسال رسالة نصية لنقطة النهاية.

OnPeerClose

OnPeerCloseFunct OnPeerClose

تلقي مفوض وظيفة معالجة حدث الاستلام الخاص بنقطة النهاية.

OnTCPSendIdleChanged

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

تقوم وظيفة معالجة الحدث بتفويض إشارة نقطة النهاية عندما يتغير خمول قناة إرسال اتصال TCP.

يتم استخدام هذا من قبل الطبقات العليا لاتخاذ الإجراءات المناسبة بناءً على ما إذا كانت البيانات المرسلة قد تم تسليمها بشكل موثوق إلى النظير.

ReceiveEnabled

bool ReceiveEnabled

مفتاح التحكم يشير إلى ما إذا كان التطبيق يتلقى البيانات.

حالة

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

الحالة الديناميكية الأساسية لنقطة النهاية الأساسية.

تتم تهيئة الكائنات في الحالة "الجاهزة" ، انتقل إلى الحالات اللاحقة المقابلة لتبسيط حالات جهاز حالة النقل TCP.

ملاحظة: kBasisState_Closed يتم تعيين تعداد الدولة ل kState_Ready لأسباب ثنائي التوافق التاريخية. في القائمة kState_Closed موجود لتحدد بشكل منفصل التمييز بين "لم يفتح بعد" و "سابقا فتحت مغلقة الآن" التي كانت موجودة سابقا في kState_Ready و kState_Closed الدول.

الوظائف العامة

إحباط

void Abort(
  void
)

أغلق نقطة النهاية بشكل فادح ، بمعنى آخر ، أرسل حزم RST.

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

الإقرار باستلام نص الرسالة.

استخدم هذه الطريقة للإقرار باستلام كل البيانات المستلمة أو جزء منها. وغير معروف دلالات التشغيلية إذا len هو أكبر من مجموع المتميز البيانات الواردة غير المعترف به.

تفاصيل
المعلمات
[in] len
عدد البايت المراد التعرف عليه.
إرجاع القيم
INET_NO_ERROR
النجاح: تم الاعتراف بالاستقبال.
INET_ERROR_INCORRECT_STATE
لم يتم تأسيس اتصال TCP.
INET_ERROR_CONNECTION_ABORTED
لم يعد اتصال TCP مفتوحًا.

ربط

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

اربط نقطة النهاية بعنوان IP للواجهة.

يربط نقطة النهاية بعنوان IP لواجهة الشبكة المحددة.

تفاصيل
المعلمات
[in] addrType
إصدار بروتوكول عنوان IP
[in] addr
عنوان IP (يجب أن يكون عنوان واجهة)
[in] port
منفذ TCP
[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
)

بدء TCP الإغلاق الكامل ، بمعنى آخر ، انتهى بكل من الإرسال والاستلام.

تفاصيل
إرجاع القيم
INET_NO_ERROR
النجاح: استخراج العنوان والميناء.
INET_ERROR_INCORRECT_STATE
لم يتم تأسيس اتصال TCP.
other
خطأ آخر في النظام أو النظام الأساسي

الاتصال

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

بدء اتصال TCP.

 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
عنوان IP الوجهة
[in] port
منفذ TCP الوجهة
[in] intf
مؤشر اختياري لواجهة الشبكة
إرجاع القيم
INET_NO_ERROR
: نجاح msg في قائمة الانتظار لإرسال.
INET_ERROR_NOT_IMPLEMENTED
لم يكتمل تنفيذ النظام.
INET_ERROR_WRONG_ADDRESS_TYPE
عنوان الوجهة وعنوان واجهة ملزمة لا تملك الإصدارات بروتوكول مطابقة أو نوع العنوان، أو عنوان الوجهة هو الارتباط المحلي عنوان IPv6 و intf لم يتم تحديد.
other
خطأ آخر في النظام أو النظام الأساسي

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

قم بتعطيل خيار TCP "البقاء على قيد الحياة".

TCPEndPoint :: DisableKeepAlive .

تعطيل تحقيقات TCP keepalive على اتصال TCP المرتبط.

تفاصيل
إرجاع القيم
INET_NO_ERROR
النجاح: استخراج العنوان والميناء.
INET_ERROR_INCORRECT_STATE
لم يتم تأسيس اتصال TCP.
INET_ERROR_CONNECTION_ABORTED
لم يعد اتصال TCP مفتوحًا.
INET_ERROR_NOT_IMPLEMENTED
لم يكتمل تنفيذ النظام.
other
خطأ آخر في النظام أو النظام الأساسي

ملاحظة: لا يمكن إلا أن يسمى هذا الأسلوب عند نقطة النهاية هو في واحدة من الدول متصل. هذه الطريقة لا تفعل شيئًا إذا لم يتم تمكين keepalives في نقطة النهاية.

تعطيل

void DisableReceive(
  void
)

تعطيل الاستقبال.

تعطيل كافة معالجات الأحداث. سيتم الاعتراف بالبيانات المرسلة إلى نقطة نهاية تعطل الاستقبال حتى يتم استنفاد نافذة الاستلام.

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

قم بتمكين خيار TCP "البقاء على قيد الحياة".

TCPEndPoint :: EnableKeepAlive .

بدء تلقائيا نقل TCP شرائح "المحافظة على الحياة" تحقيق كل interval ثواني. سوف إحباط اتصال تلقائيا بعد تلقي ردا سلبيا، أو بعد إرسال timeoutCount شرائح التحقيق دون تلقي أي رد إيجابي.

تفاصيل
المعلمات
[in] interval
الوقت بالثواني بين طلبات التحقيق.
[in] timeoutCount
عدد المجسات لإرسالها قبل انتهاء المهلة.
إرجاع القيم
INET_NO_ERROR
النجاح: استخراج العنوان والميناء.
INET_ERROR_INCORRECT_STATE
لم يتم تأسيس اتصال TCP.
INET_ERROR_CONNECTION_ABORTED
لم يعد اتصال TCP مفتوحًا.
INET_ERROR_NOT_IMPLEMENTED
لم يكتمل تنفيذ النظام.
other
خطأ آخر في النظام أو النظام الأساسي

راجع RFC 1122 ، القسم 4.2.3.6 للحصول على تفاصيل المواصفات.

قم بتمكين تحقيقات TCP keepalive على اتصال TCP المرتبط.

ملاحظة: لا يمكن إلا أن يسمى هذا الأسلوب عند نقطة النهاية هو في واحدة من الدول متصل. يمكن استدعاء هذه الطريقة عدة مرات لضبط فترة الاحتفاظ أو عدد المهلة.

تفاصيل
المعلمات
interval
الفاصل الزمني (بالثواني) بين تحقيقات البقاء على قيد الحياة. تتحكم هذه القيمة أيضًا في الوقت بين آخر حزمة بيانات تم إرسالها ونقل أول مسبار للبقاء على قيد الحياة.
timeoutCount
سيتم اعتبار الحد الأقصى لعدد التحقيقات غير المعترف بها قبل أن الاتصال قد فشل.

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

EnableNoDelay.

TCPEndPoint :: EnableNoDelay .

قم بإيقاف تشغيل خوارزمية التخزين المؤقت nagle في TCP عن طريق تعيين خيارات مأخذ التوصيل TCP_NODELAY.

التمكين

void EnableReceive(
  void
)

تمكين الاستقبال.

تفعيل كل معالجات الأحداث. سيتم الاعتراف بالبيانات المرسلة إلى نقطة نهاية تعطل الاستقبال حتى يتم استنفاد نافذة الاستلام.

حر

void Free(
  void
)

بدء (أو متابعة) إغلاق TCP الكامل ، وتجاهل الأخطاء.

يتم إرجاع الكائن إلى التجمع المجاني ، وتكون كافة مراجع المستخدم المتبقية غير صالحة فيما بعد.

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

استخراج عنوان IP ومنفذ TCP لنقطة النهاية المحلية.

لا تستخدم NULL القيم مؤشر لأي حجة.

تفاصيل
المعلمات
[out] retAddr
عنوان IP لنقطة النهاية المحلية.
[out] retPort
منفذ TCP لنقطة النهاية المحلية.
إرجاع القيم
INET_NO_ERROR
النجاح: استخراج العنوان والميناء.
INET_ERROR_INCORRECT_STATE
لم يتم تأسيس اتصال TCP.
INET_ERROR_CONNECTION_ABORTED
لم يعد اتصال TCP مفتوحًا.

GetPeerInfo

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

استخراج عنوان IP ومنفذ TCP لنقطة النهاية البعيدة.

لا تستخدم NULL القيم مؤشر لأي حجة.

تفاصيل
المعلمات
[out] retAddr
عنوان IP لنقطة النهاية البعيدة.
[out] retPort
منفذ TCP لنقطة النهاية البعيدة.
إرجاع القيم
INET_NO_ERROR
النجاح: استخراج العنوان والميناء.
INET_ERROR_INCORRECT_STATE
لم يتم تأسيس اتصال TCP.
INET_ERROR_CONNECTION_ABORTED
لم يعد اتصال TCP مفتوحًا.

متصل

bool IsConnected(
  void
) const 

استخرج ما إذا كان اتصال TCP قد تم إنشاؤه.

استمع

INET_ERROR Listen(
  uint16_t backlog
)

جهز نقطة النهاية لتلقي رسائل TCP.

إذا State بالفعل kState_Listening ، ثم يتم تنفيذ أي عملية، وإلا فإن State ومن المقرر أن kState_Listening وأعدت نقطة النهاية على الرسائل TCP الواردة، وفقا لدلالات المنصة.

تفاصيل
المعلمات
[in] backlog
أقصى عمق لقائمة انتظار الاتصال
إرجاع القيم
INET_NO_ERROR
النجاح: نقطة النهاية جاهزة لتلقي الرسائل.
INET_ERROR_INCORRECT_STATE
نقطة النهاية تستمع بالفعل.

على بعض الأنظمة الأساسية، و backlog عدم استخدام الحجة (يتم إصلاح عمق قائمة الانتظار، اتصال واحد فقط قد يكون مقبولا في كل مرة).

في أنظمة LwIP ، يجب عدم استدعاء هذه الطريقة مع تأمين مكدس LwIP المكتسب بالفعل

LogId

uint16_t LogId(
  void
)

احصل على معرف لنقطة النهاية.

تفاصيل
عائدات
إرجاع معرّف فريد غير شفاف لسجلات الاستخدام.

مارك أكتيف

void MarkActive(
  void
)

ملاحظة النشاط ، بمعنى آخر ، إعادة تعيين مؤقت الخمول.

إعادة تعيين عداد الوقت الخمول إلى الصفر.

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

استخراج طول بيانات الاستلام غير المعترف بها.

تفاصيل
عائدات
عدد البايتات في التلقي قائمة الانتظار التي لم يتم الاعتراف مع AckReceive(uint16_t len) .

PendingSendLength

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
لم يتم تأسيس اتصال TCP.

إرسال

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

إرسال رسالة نصية على اتصال TCP.

و Weave::System::PacketBuffer::Free يسمى الأسلوب على data الحجة بغض النظر عن ما إذا كان نقل ناجحا أو فشل.

تفاصيل
المعلمات
[out] data
نص الرسالة المراد إرسالها.
[out] push
إذا true ، ثم ترسل على الفور، وإلا الانتظار.
إرجاع القيم
INET_NO_ERROR
النجاح: استخراج العنوان والميناء.
INET_ERROR_INCORRECT_STATE
لم يتم تأسيس اتصال TCP.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

اضبط مهلة الاتصال بنجاح أو إرجاع خطأ.

تفاصيل
المعلمات
[in] connTimeoutMsecs

SetUserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

قم بتعيين خيار مأخذ التوصيل TCP TCP_USER_TIMEOUT.

TCPEndPoint :: SetUserTimeout .

عندما تكون القيمة أكبر من 0 ، فإنها تحدد الحد الأقصى من الوقت بالمللي ثانية الذي قد تظل فيه البيانات المرسلة غير معترف بها قبل أن يقوم TCP بإغلاق الاتصال المقابل بالقوة. إذا تم تحديد قيمة الخيار على أنها 0 ، فسيقوم TCP باستخدام القيمة الافتراضية للنظام. راجع RFC 5482 للحصول على مزيد من التفاصيل.

تفاصيل
المعلمات
[in] userTimeoutMillis
قيمة مهلة المستخدم Tcp بالمللي ثانية.
إرجاع القيم
INET_NO_ERROR
النجاح: استخراج العنوان والميناء.
INET_ERROR_NOT_IMPLEMENTED
لم يكتمل تنفيذ النظام.
other
خطأ آخر في النظام أو النظام الأساسي

اضبط خيار مأخذ توصيل TCP user timeout.

عندما تكون القيمة أكبر من 0 ، فإنها تحدد الحد الأقصى من الوقت بالمللي ثانية الذي قد تظل فيه البيانات المرسلة غير معترف بها قبل أن يغلق TCP الاتصال المقابل بالقوة. إذا تم تحديد قيمة الخيار على أنها 0 ، فسيستخدم TCP القيمة الافتراضية للنظام. راجع RFC 5482 للحصول على مزيد من التفاصيل.

ملاحظة: لا يمكن إلا أن يسمى هذا الأسلوب عند نقطة النهاية هو في واحدة من الدول متصل. يمكن استدعاء هذه الطريقة عدة مرات لضبط فترة الاحتفاظ أو عدد المهلة.

اغلق

INET_ERROR Shutdown(
  void
)

ابدأ بنصف بروتوكول TCP قريبًا ، بمعنى آخر ، انتهى من الإرسال.

تفاصيل
إرجاع القيم
INET_NO_ERROR
النجاح: استخراج العنوان والميناء.
INET_ERROR_INCORRECT_STATE
لم يتم تأسيس اتصال TCP.
other
خطأ آخر في النظام أو النظام الأساسي