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 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
มอบสิทธิ์การจัดการเหตุการณ์การรับข้อความของปลายทาง
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
ปิดใช้การตรวจสอบ Keepalive ของ TCP ในการเชื่อมต่อ TCP ที่เกี่ยวข้อง
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
แสดงผลค่า |
|
หมายเหตุ: คุณจะเรียกใช้เมธอดนี้ได้เมื่อปลายทางอยู่ในสถานะ "เชื่อมต่อ" สถานะใดสถานะหนึ่งเท่านั้น วิธีการนี้จะไม่มีผลหากไม่ได้เปิดใช้การรักษาความต่อเนื่องในปลายทาง
DisableReceive
void DisableReceive( void )
ปิดการรับ
ปิดใช้ตัวแฮนเดิลเหตุการณ์ทั้งหมด จะมีการรับทราบข้อมูลที่ส่งไปยังปลายทางที่ปิดใช้การรับจนกว่าจะหมดเวลารับสัญญาณ
EnableKeepAlive
INET_ERROR EnableKeepAlive( uint16_t interval, uint16_t timeoutCount )
เปิดใช้ตัวเลือก "Keep-alive" ของ 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 TCP_USER_TIMEOUT
เมื่อค่ามากกว่า 0 จะเป็นการระบุระยะเวลาสูงสุดเป็นมิลลิวินาทีที่ข้อมูลที่ส่งอาจยังไม่ทราบก่อนที่ TCP จะบังคับปิดการเชื่อมต่อที่เกี่ยวข้อง หากระบุค่าตัวเลือกเป็น 0 TCP จะใช้ค่าเริ่มต้นของระบบ ดูรายละเอียดเพิ่มเติมได้ที่ RFC 5482
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
ตั้งค่าตัวเลือกซ็อกเก็ตการหมดเวลาของผู้ใช้ TCP
เมื่อค่ามากกว่า 0 จะเป็นการระบุระยะเวลาสูงสุดเป็นมิลลิวินาทีที่ข้อมูลที่ส่งอาจยังไม่ทราบก่อนที่ TCP จะบังคับปิดการเชื่อมต่อที่เกี่ยวข้อง หากระบุค่าตัวเลือกเป็น 0 TCP จะใช้ค่าเริ่มต้นของระบบ ดูรายละเอียดเพิ่มเติมได้ที่ RFC 5482
หมายเหตุ: คุณจะเรียกใช้เมธอดนี้ได้เมื่อปลายทางอยู่ในสถานะ "เชื่อมต่อ" สถานะใดสถานะหนึ่งเท่านั้น คุณสามารถเรียกเมธอดนี้หลายครั้งเพื่อปรับช่วงเวลา Keepalive หรือจํานวนการหมดเวลา
ปิดการทำงาน
INET_ERROR Shutdown( void )
เริ่มต้น TCP แบบปิดครึ่งหนึ่ง กล่าวคือ เสร็จสิ้นการส่งแล้ว
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
แสดงผลค่า |
|