nl:: Inet:: TCPEndPoint
#include <src/inet/TCPEndPoint.h>
ออบเจ็กต์ของคลาสนี้แสดงปลายทางการรับส่ง TCP
สรุป
Nest Inet Layer สรุปวิธีการในการโต้ตอบกับปลายทางการรับส่งข้อมูล TCP (ซ็อกเก็ต SOCK_STREAM ในระบบที่ได้รับ Linux และ BSD) หรือบล็อกการควบคุมโปรโตคอล LwIP TCP เนื่องจากมีการกำหนดค่าระบบให้สอดคล้องกัน
การสืบทอด
รับค่าจาก: nl::Inet::EndPointBasis
ประเภทสาธารณะ |
|
---|---|
@10{
|
enum สถานะไดนามิกพื้นฐานของปลายทางที่สำคัญ |
OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err)
|
Typedefvoid(*
ประเภทของฟังก์ชันการจัดการเหตุการณ์ข้อผิดพลาดในการยอมรับการเชื่อมต่อ |
OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err)
|
Typedefvoid(*
ประเภทของฟังก์ชันการจัดการเหตุการณ์การสร้างการเชื่อมต่อ |
OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err)
|
Typedefvoid(*
ประเภทของฟังก์ชันการจัดการเหตุการณ์การสร้างการเชื่อมต่อ |
OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort)
|
Typedefvoid(*
ประเภทของการเชื่อมต่อที่ได้รับฟังก์ชันการจัดการเหตุการณ์ |
OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data)
|
Typedefvoid(*
ประเภทของฟังก์ชันการจัดการเหตุการณ์การรับข้อมูล |
OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len)
|
Typedefvoid(*
ประเภทฟังก์ชันการจัดการเหตุการณ์การส่งข้อมูล |
OnPeerCloseFunct)(TCPEndPoint *endPoint)
|
Typedefvoid(*
ประเภทของฟังก์ชันการจัดการเหตุการณ์ต้อนรับระยะปิดการขาย |
OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle)
|
Typedefvoid(*
ประเภทของ 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)
|
ปิดใช้ "keep-alive" ของ TCP ตัวเลือก
|
DisableReceive(void)
|
void
ปิดการรับ
|
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
|
เปิดใช้ "keep-alive" ของ 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
ตั้งค่าระยะหมดเวลาสำหรับ Connect เพื่อให้ดำเนินการสำเร็จหรือแสดงผลข้อผิดพลาด
|
SetUserTimeout(uint32_t userTimeoutMillis)
|
ตั้งค่าตัวเลือกซ็อกเก็ต 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
|
ปลายทางปิดแบบ 2 ทิศทาง |
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
ให้รายละเอียดเฉพาะเกี่ยวกับประเภทของข้อผิดพลาด
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
OnConnectCompleteFunct
void(* OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err)
ประเภทของฟังก์ชันการจัดการเหตุการณ์การสร้างการเชื่อมต่อ
ระบุฟังก์ชันประเภทนี้ให้กับสมาชิกที่รับมอบสิทธิ์ OnConnectComplete
เพื่อประมวลผลเหตุการณ์การสร้างการเชื่อมต่อใน endPoint
อาร์กิวเมนต์ err
แยกความแตกต่างระหว่างการเชื่อมต่อที่สำเร็จกับความล้มเหลว
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
OnConnectionClosedFunct
void(* OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err)
ประเภทของฟังก์ชันการจัดการเหตุการณ์การสร้างการเชื่อมต่อ
จัดเตรียมฟังก์ชันประเภทนี้ให้กับสมาชิกที่รับมอบสิทธิ์ OnConnectionClosed
เพื่อประมวลผลเหตุการณ์การสิ้นสุดการเชื่อมต่อบน endPoint
อาร์กิวเมนต์ err
จะแยกการสิ้นสุดที่ประสบความสำเร็จออกจากความล้มเหลว
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
OnConnectionReceivedFunct
void(* OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort)
ประเภทของการเชื่อมต่อที่ได้รับฟังก์ชันการจัดการเหตุการณ์
จัดเตรียมฟังก์ชันประเภทนี้ให้กับสมาชิกที่รับมอบสิทธิ์ OnConnectionReceived
เพื่อประมวลผลเหตุการณ์การรับการเชื่อมต่อใน listeningEndPoint
ปลายทาง conEndPoint
ที่ได้รับใหม่อยู่ที่ที่อยู่ IP peerAddr
และพอร์ต TCP peerPort
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
OnDataReceivedFunct
void(* OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data)
ประเภทของฟังก์ชันการจัดการเหตุการณ์การรับข้อมูล
จัดเตรียมฟังก์ชันประเภทนี้ให้กับสมาชิกที่รับมอบสิทธิ์ OnDataReceived
เพื่อประมวลผลเหตุการณ์การรับข้อมูลใน endPoint
โดยที่ data
คือข้อความที่ได้รับ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
เครื่องจัดการเหตุการณ์การรับข้อมูลต้องรับทราบข้อมูลที่ประมวลผลโดยใช้เมธอด AckReceive
ต้องเรียกใช้เมธอด Free
ในบัฟเฟอร์ข้อมูลด้วย เว้นแต่จะใช้ PutBackReceivedData
แทน
OnDataSentFunct
void(* OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len)
ประเภทฟังก์ชันการจัดการเหตุการณ์การส่งข้อมูล
จัดเตรียมฟังก์ชันประเภทนี้ให้กับสมาชิกที่ได้รับมอบสิทธิ์ OnDataSent
เพื่อประมวลผลเหตุการณ์การส่งข้อมูลบน endPoint
โดยที่ len
คือความยาวของข้อความที่เพิ่มลงในหน้าต่างการส่ง TCP ซึ่งมีสิทธิ์สำหรับการส่งโดยสแต็กเครือข่ายที่สำคัญ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
OnPeerCloseFunct
void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)
ประเภทของฟังก์ชันการจัดการเหตุการณ์ต้อนรับระยะปิดการขาย
จัดเตรียมฟังก์ชันประเภทนี้ให้กับสมาชิกที่รับมอบสิทธิ์ OnPeerClose
เพื่อประมวลผลเหตุการณ์การสิ้นสุดการเชื่อมต่อบน endPoint
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
OnTCPSendIdleChangedFunct
void(* OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle)
ประเภทของ TCP SendIdle มีการเปลี่ยนแปลงฟังก์ชันการจัดการสัญญาณ
ระบุฟังก์ชันประเภทนี้ให้กับสมาชิกที่รับมอบสิทธิ์ OnTCPSendIdleChanged
เพื่อประมวลผลเหตุการณ์ของช่องทางการส่งของสถานะการเปลี่ยนแปลงของ TCPEndPoint ระหว่างเมื่อไม่มีการใช้งานและไม่ได้ใช้งาน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
แอตทริบิวต์สาธารณะ
OnAcceptError
OnAcceptErrorFunct OnAcceptError
ผู้รับมอบสิทธิ์ฟังก์ชันการจัดการเหตุการณ์การยอมรับการเชื่อมต่อของปลายทาง
OnConnectComplete
OnConnectCompleteFunct OnConnectComplete
ผู้รับมอบสิทธิ์ฟังก์ชันการจัดการเหตุการณ์การสร้างการเชื่อมต่อของปลายทาง
OnConnectionClosed
OnConnectionClosedFunct OnConnectionClosed
ผู้รับมอบสิทธิ์ฟังก์ชันการจัดการเหตุการณ์แบบปิดของปลายทาง
OnConnectionReceived
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
มากกว่าจำนวนข้อมูลที่ได้รับที่ยังไม่ได้รับทราบซึ่งรอดำเนินการทั้งหมด
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
เชื่อมโยง
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr )
เชื่อมโยงปลายทางกับที่อยู่ IP ของอินเทอร์เฟซ
เชื่อมโยงปลายทางกับที่อยู่ IP ของอินเทอร์เฟซเครือข่ายที่ระบุ
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
ผลลัพธ์ |
|
ใน LwIP ต้องไม่เรียกใช้เมธอดนี้เมื่อได้สแต็กล็อก LwIP แล้ว
ปิด
INET_ERROR Close( void )
เริ่มต้น TCP แบบปิดโดยสมบูรณ์ กล่าวคือ สิ้นสุดโดยใช้ทั้งการส่งและรับ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
ผลลัพธ์ |
|
เชื่อมต่อ
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.
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
ผลลัพธ์ |
|
DisableKeepAlive
INET_ERROR DisableKeepAlive( void )
ปิดใช้ "keep-alive" ของ TCP ตัวเลือก
TCPEndPoint::DisableKeepAlive.
ปิดใช้การตรวจสอบ Keepalive ของ TCP ในการเชื่อมต่อ TCP ที่เชื่อมโยง
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ผลลัพธ์ |
|
หมายเหตุ: ระบบจะเรียกใช้เมธอดนี้ได้เมื่อปลายทางอยู่ในสถานะที่เชื่อมต่อแบบใดแบบหนึ่งเท่านั้น วิธีนี้จะไม่ช่วยใดๆ หากไม่ได้เปิดใช้การเก็บรักษาไว้ในปลายทาง
DisableReceive
void DisableReceive( void )
ปิดการรับ
ปิดใช้ตัวแฮนเดิลเหตุการณ์ทั้งหมด ระบบจะรับทราบข้อมูลที่ส่งไปยังปลายทางที่ปิดใช้การรับสัญญาณจนกว่าช่วงเวลาในการรับจะหมดลง
EnableKeepAlive
INET_ERROR EnableKeepAlive( uint16_t interval, uint16_t timeoutCount )
เปิดใช้ "keep-alive" ของ TCP ตัวเลือก
เริ่มส่ง TCP "Keep-alive" ของ TCP โดยอัตโนมัติ ทุก interval
วินาที การเชื่อมต่อจะล้มเลิกโดยอัตโนมัติหลังจากได้รับคำตอบในเชิงลบ หรือหลังจากส่งกลุ่มการตรวจสอบ timeoutCount
กลุ่มโดยไม่ได้รับการตอบสนองเชิงบวก
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
โปรดดูรายละเอียดข้อกำหนดเฉพาะ RFC 1122 ส่วน 4.2.3.6
เปิดใช้งานการตรวจสอบ Keepalive ของ TCP บนการเชื่อมต่อ TCP ที่เชื่อมโยง
หมายเหตุ: ระบบจะเรียกใช้เมธอดนี้ได้เมื่อปลายทางอยู่ในสถานะที่เชื่อมต่อแบบใดแบบหนึ่งเท่านั้น วิธีการนี้สามารถเรียกใช้ได้หลายครั้งเพื่อปรับช่วง Keepalive หรือจำนวนระยะหมดเวลา
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
EnableNoDelay
INET_ERROR EnableNoDelay( void )
EnableNoDelay
ปิดอัลกอริทึมการบัฟเฟอร์ระหว่าง Nagle ใน TCP โดยตั้งค่าตัวเลือกซ็อกเก็ต TCP_NODELAY
EnableReceive
void EnableReceive( void )
เปิดใช้การรับ
เปิดใช้ตัวแฮนเดิลเหตุการณ์ทั้งหมด ระบบจะรับทราบข้อมูลที่ส่งไปยังปลายทางที่ปิดใช้การรับสัญญาณจนกว่าช่วงเวลาในการรับจะหมดลง
ฟรี
void Free( void )
เริ่มต้น (หรือดำเนินการต่อ) การปิด TCP เต็มรูปแบบโดยไม่สนใจข้อผิดพลาด
อ็อบเจกต์จะถูกกลับไปยังพูลอิสระ และการอ้างอิงผู้ใช้ที่เหลืออยู่ทั้งหมดจะใช้ไม่ได้ในเวลาต่อมา
GetLocalInfo
INET_ERROR GetLocalInfo( IPAddress *retAddr, uint16_t *retPort )
ดึงที่อยู่ IP และพอร์ต TCP ของปลายทางในเครื่อง
อย่าใช้ค่าตัวชี้ NULL
กับอาร์กิวเมนต์ใดอาร์กิวเมนต์หนึ่ง
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
GetPeerInfo
INET_ERROR GetPeerInfo( IPAddress *retAddr, uint16_t *retPort ) const
ดึงข้อมูลที่อยู่ IP และพอร์ต TCP ของปลายทางระยะไกล
อย่าใช้ค่าตัวชี้ NULL
กับอาร์กิวเมนต์ใดอาร์กิวเมนต์หนึ่ง
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
IsConnected
bool IsConnected( void ) const
ดึงข้อมูลว่าสร้างการเชื่อมต่อ TCP แล้วหรือไม่
ฟัง
INET_ERROR Listen( uint16_t backlog )
เตรียมปลายทางให้รับข้อความ TCP
หาก State
เป็น kState_Listening
อยู่แล้ว แสดงว่าไม่มีการดำเนินการใดๆ มิเช่นนั้น ระบบจะตั้งค่า State
เป็น kState_Listening
และเตรียมปลายทางให้ได้รับข้อความ TCP ตามความหมายของแพลตฟอร์ม
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
ผลลัพธ์ |
|
ในบางแพลตฟอร์ม ระบบจะไม่ใช้อาร์กิวเมนต์ backlog
(ความลึกของคิวจะคงที่ และสามารถยอมรับการเชื่อมต่อได้ครั้งละ 1 รายการเท่านั้น)
ในระบบ LwIP ต้องไม่เรียกใช้เมธอดนี้เมื่อได้สแต็กล็อก LwIP แล้ว
LogId
uint16_t LogId( void )
รับตัวระบุสำหรับปลายทาง
รายละเอียด | |
---|---|
การคืนสินค้า |
แสดงผลตัวระบุที่ไม่ซ้ำกันแบบทึบแสงสำหรับบันทึกการใช้งาน
|
MarkActive
void MarkActive( void )
บันทึกกิจกรรมหรือก็คือรีเซ็ตตัวจับเวลาเมื่อไม่มีการใช้งาน
รีเซ็ตตัวจับเวลาเมื่อไม่มีการใช้งานเป็น 0
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)
ก่อนหน้านี้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
ผลลัพธ์ |
|
ส่ง
INET_ERROR Send( Weave::System::PacketBuffer *data, bool push )
ส่งข้อความบนการเชื่อมต่อ TCP
ระบบจะเรียกใช้เมธอด Weave::System::PacketBuffer::Free
ในอาร์กิวเมนต์ data
ไม่ว่าการส่งจะสำเร็จหรือล้มเหลวก็ตาม
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
ผลลัพธ์ |
|
SetConnectTimeout
void SetConnectTimeout( const uint32_t connTimeoutMsecs )
ตั้งค่าระยะหมดเวลาสำหรับ Connect เพื่อให้ดำเนินการสำเร็จหรือแสดงผลข้อผิดพลาด
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetUserTimeout
INET_ERROR SetUserTimeout( uint32_t userTimeoutMillis )
ตั้งค่าตัวเลือกซ็อกเก็ต TCP_USER_TIMEOUT
TCPEndPoint::SetUserระยะหมดเวลา
เมื่อค่ามากกว่า 0 ค่าดังกล่าวจะระบุระยะเวลาสูงสุดเป็นมิลลิวินาทีที่ระบบอาจยังไม่ได้รับทราบข้อมูลที่ส่งก่อนที่ TCP จะบังคับให้ปิดการเชื่อมต่อที่เกี่ยวข้อง หากระบุค่าตัวเลือกเป็น 0 นั้น TCP จะใช้ค่าเริ่มต้นของระบบ โปรดดูรายละเอียดเพิ่มเติมที่ RFC 5482
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
ตั้งค่าตัวเลือกซ็อกเก็ตระยะหมดเวลาของผู้ใช้ TCP
เมื่อค่ามากกว่า 0 ค่าดังกล่าวจะระบุระยะเวลาสูงสุดเป็นมิลลิวินาทีที่ระบบอาจยังไม่ได้รับทราบข้อมูลที่ส่งก่อนที่ TCP จะบังคับให้ปิดการเชื่อมต่อที่เกี่ยวข้อง หากระบุค่าตัวเลือกเป็น 0 นั้น TCP จะใช้ค่าเริ่มต้นของระบบ โปรดดูรายละเอียดเพิ่มเติมที่ RFC 5482
หมายเหตุ: ระบบจะเรียกใช้เมธอดนี้ได้เมื่อปลายทางอยู่ในสถานะที่เชื่อมต่อแบบใดแบบหนึ่งเท่านั้น วิธีการนี้สามารถเรียกใช้ได้หลายครั้งเพื่อปรับช่วง Keepalive หรือจำนวนระยะหมดเวลา
ปิดการทำงาน
INET_ERROR Shutdown( void )
เริ่มต้น TCP ปิดครึ่งหนึ่ง กล่าวคือ สิ้นสุดการส่ง
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
ผลลัพธ์ |
|