Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Inet :: TCPEndPoint

#include <src/inet/TCPEndPoint.h>

Các đối tượng của lớp này đại diện cho các điểm cuối truyền tải TCP.

Tóm lược

Lớp Nest Inet đóng gói các phương thức tương tác với các điểm cuối truyền tải TCP (ổ cắm SOCK_STREAM trên hệ thống dẫn xuất Linux và BSD) hoặc các khối điều khiển giao thức LwIP TCP, khi hệ thống được định cấu hình phù hợp.

Di sản

Kế thừa từ: nl :: Inet :: EndPointBasis

Các loại công khai

@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
}
enum
Trạng thái động cơ bản của điểm cuối bên dưới.
OnAcceptErrorFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Loại chức năng xử lý sự kiện lỗi chấp nhận kết nối.
OnConnectCompleteFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Loại chức năng xử lý sự kiện thiết lập kết nối.
OnConnectionClosedFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Loại chức năng xử lý sự kiện thiết lập kết nối.
OnConnectionReceivedFunct )(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
Loại kết nối nhận được chức năng xử lý sự kiện.
OnDataReceivedFunct )(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
Loại chức năng xử lý sự kiện tiếp nhận dữ liệu.
OnDataSentFunct )(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
Loại chức năng xử lý sự kiện truyền dữ liệu.
OnPeerCloseFunct )(TCPEndPoint *endPoint) typedef
void(*
Loại chức năng xử lý sự kiện tiếp nhận nửa đóng.
OnTCPSendIdleChangedFunct )(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
Loại TCP SendIdle đã thay đổi chức năng xử lý tín hiệu.

Thuộc tính công cộng

OnAcceptError
Đại diện chức năng xử lý sự kiện chấp nhận kết nối của điểm cuối.
OnConnectComplete
Đại biểu chức năng xử lý sự kiện thiết lập kết nối của điểm cuối.
OnConnectionClosed
Đại biểu chức năng xử lý sự kiện đóng của điểm cuối.
OnConnectionReceived
Kết nối của điểm cuối nhận chức năng xử lý sự kiện.
OnDataReceived
Đại biểu chức năng xử lý sự kiện tiếp nhận văn bản tin nhắn của điểm cuối.
OnDataSent
Đại biểu chức năng xử lý sự kiện truyền tải văn bản thông báo của điểm cuối.
OnPeerClose
Đại biểu chức năng xử lý sự kiện nhận nửa đóng của điểm cuối.
OnTCPSendIdleChanged
Đại diện chức năng xử lý sự kiện của báo hiệu điểm cuối khi trạng thái không hoạt động của kênh gửi của kết nối TCP thay đổi.
ReceiveEnabled
bool
Công tắc điều khiển cho biết ứng dụng có đang nhận dữ liệu hay không.
State
enum nl::Inet::TCPEndPoint::@10
Trạng thái động cơ bản của điểm cuối bên dưới.

Chức năng công cộng

Abort (void)
void
Nói cách khác, đóng điểm cuối một cách đột ngột, gửi các gói RST.
AckReceive (uint16_t len)
Xác nhận đã nhận nội dung tin nhắn.
Bind (IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
Liên kết điểm cuối với một địa chỉ IP giao diện.
Close (void)
Nói cách khác, bắt đầu đóng hoàn toàn TCP, kết thúc với cả gửi và nhận.
Connect ( IPAddress addr, uint16_t port, InterfaceId intf)
Bắt đầu kết nối TCP.
DisableKeepAlive (void)
Tắt tùy chọn TCP "keep-living".
DisableReceive (void)
void
Tắt tính năng tiếp nhận.
EnableKeepAlive (uint16_t interval, uint16_t timeoutCount)
Bật tùy chọn TCP "keep-living".
EnableNoDelay (void)
EnableNoDelay.
EnableReceive (void)
void
Bật tính năng tiếp nhận.
Free (void)
void
Bắt đầu (hoặc tiếp tục) TCP đóng hoàn toàn, bỏ qua lỗi.
GetLocalInfo ( IPAddress *retAddr, uint16_t *retPort)
Trích xuất địa chỉ IP và cổng TCP của điểm cuối cục bộ.
GetPeerInfo ( IPAddress *retAddr, uint16_t *retPort) const
Trích xuất địa chỉ IP và cổng TCP của điểm cuối từ xa.
IsConnected (void) const
bool
Trích xuất xem kết nối TCP có được thiết lập hay không.
Listen (uint16_t backlog)
Chuẩn bị điểm cuối để nhận thông điệp TCP.
LogId (void)
uint16_t
Lấy mã định danh cho điểm cuối.
MarkActive (void)
void
Nói cách khác, lưu ý hoạt động, đặt lại bộ hẹn giờ nhàn rỗi.
PendingReceiveLength (void)
uint32_t
Trích xuất độ dài của dữ liệu nhận chưa được xác nhận.
PendingSendLength (void)
uint32_t
Trích xuất độ dài của dữ liệu đang chờ truyền đầu tiên.
PutBackReceivedData ( Weave::System::PacketBuffer *data)
Đẩy văn bản tin nhắn trở lại đầu hàng đợi nhận.
Send ( Weave::System::PacketBuffer *data, bool push)
Gửi tin nhắn văn bản trên kết nối TCP.
SetConnectTimeout (const uint32_t connTimeoutMsecs)
void
Đặt thời gian chờ để Kết nối thành công hoặc trả lại lỗi.
SetUserTimeout (uint32_t userTimeoutMillis)
Đặt tùy chọn ổ cắm TCP TCP_USER_TIMEOUT.
Shutdown (void)
Nói cách khác, bắt đầu đóng một nửa TCP, nói cách khác, đã hoàn tất quá trình gửi.

Các loại công khai

@ 10

 @10

Trạng thái động cơ bản của điểm cuối bên dưới.

Các đối tượng được khởi tạo ở trạng thái "sẵn sàng", tiến tới các trạng thái tiếp theo tương ứng với sự đơn giản hóa các trạng thái của máy trạng thái truyền tải TCP.

Lưu ý: Việc liệt kê trạng thái kBasisState_Closed được ánh xạ tới kState_Ready vì lý do tương thích nhị phân lịch sử. Các hiện kState_Closed tồn tại để xác định riêng rẽ sự phân biệt giữa "không mở được nêu ra" và "trước đây nay đã mở đóng cửa" đã tồn tại trước đó trong kState_ReadykState_Closed tiểu bang.

Tính chất
kState_Bound

Điểm cuối bị ràng buộc, nhưng không lắng nghe.

kState_Closed

Điểm cuối đã đóng, sẵn sàng để phát hành.

kState_Closing

Điểm cuối đóng hai chiều.

kState_Connected

Đã kết nối điểm cuối, sẵn sàng cho tx / rx.

kState_Connecting

Điểm cuối đang cố gắng kết nối.

kState_Listening

Kết nối nhận điểm cuối.

kState_Ready

Điểm cuối được khởi tạo, nhưng không bị ràng buộc.

kState_ReceiveShutdown

Điểm cuối phản hồi nửa đóng.

kState_SendShutdown

Điểm cuối bắt đầu đóng một nửa của nó.

OnAcceptErrorFunct

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

Loại chức năng xử lý sự kiện lỗi chấp nhận kết nối.

Cung cấp một chức năng thuộc loại này cho thành viên ủy quyền OnAcceptError để xử lý các sự kiện lỗi chấp nhận kết nối trên endPoint . Các err luận cung cấp chi tiết cụ thể về loại lỗi.

Chi tiết
Thông số
[in] endPoint
Điểm cuối TCP được liên kết với sự kiện.
[in] err
Lý do cho lỗi.

OnConnectCompleteFunct

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

Loại chức năng xử lý sự kiện thiết lập kết nối.

Cung cấp một chức năng thuộc loại này cho thành viên ủy quyền OnConnectComplete để xử lý các sự kiện thiết lập kết nối trên endPoint . Đối số err phân biệt kết nối thành công với kết nối thất bại.

Chi tiết
Thông số
[in] endPoint
Điểm cuối TCP được liên kết với sự kiện.
[in] err
INET_NO_ERROR nếu thành công, nếu không mã khác.

OnConnectionClosedFunct

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

Loại chức năng xử lý sự kiện thiết lập kết nối.

Cung cấp một chức năng thuộc loại này cho thành viên ủy quyền OnConnectionClosed để xử lý các sự kiện chấm dứt kết nối trên endPoint . Đối số err phân biệt kết thúc thành công với thất bại.

Chi tiết
Thông số
[in] endPoint
Điểm cuối TCP được liên kết với sự kiện.
[in] err
INET_NO_ERROR nếu thành công, nếu không mã khác.

OnConnectionReceiveFunct

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

Loại kết nối nhận được chức năng xử lý sự kiện.

Cung cấp một chức năng thuộc loại này cho thành viên ủy nhiệm OnConnectionReceived để xử lý các sự kiện tiếp nhận kết nối trên listeningEndPoint . Điểm cuối conEndPoint mới nhận được nằm ở địa chỉ IP peerAddr và cổng TCP peerPort .

Chi tiết
Thông số
[in] listeningEndPoint
Điểm cuối TCP đang nghe.
[in] conEndPoint
Điểm cuối TCP mới nhận được.
[in] peerAddr
Địa chỉ IP của máy ngang hàng từ xa.
[in] peerPort
Cổng TCP của máy ngang hàng từ xa.

OnDataReceiveFunct

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

Loại chức năng xử lý sự kiện tiếp nhận dữ liệu.

Cung cấp một chức năng thuộc loại này cho thành viên ủy quyền OnDataReceived để xử lý các sự kiện nhận dữ liệu trên endPoint nơi data là văn bản thông báo nhận được.

Chi tiết
Thông số
[in] endPoint
Điểm cuối TCP được liên kết với sự kiện.
[in] data
Dữ liệu nhận được.

Trình xử lý sự kiện tiếp nhận dữ liệu phải xác nhận dữ liệu được xử lý bằng phương thức AckReceive . Phương thức Free trên bộ đệm dữ liệu cũng phải được gọi trừ khi PutBackReceivedData được sử dụng thay thế.

OnDataSentFunct

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

Loại chức năng xử lý sự kiện truyền dữ liệu.

Cung cấp một hàm kiểu này cho thành viên ủy nhiệm OnDataSent để xử lý các sự kiện truyền dữ liệu trên endPoint trong đó len là độ dài của văn bản thông báo được thêm vào cửa sổ truyền TCP, đủ điều kiện để gửi bởi ngăn xếp mạng bên dưới.

Chi tiết
Thông số
[in] endPoint
Điểm cuối TCP được liên kết với sự kiện.
[in] len
Số byte được thêm vào cửa sổ truyền.

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

Loại chức năng xử lý sự kiện tiếp nhận nửa đóng.

Cung cấp một chức năng thuộc loại này cho thành viên ủy nhiệm OnPeerClose để xử lý các sự kiện chấm dứt kết nối trên endPoint .

Chi tiết
Thông số
[in] endPoint
Điểm cuối TCP được liên kết với sự kiện.

OnTCPSendIdleChangedFunct

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

Loại TCP SendIdle đã thay đổi chức năng xử lý tín hiệu.

Cung cấp một chức năng thuộc loại này cho thành viên ủy quyền OnTCPSendIdleChanged để xử lý sự kiện kênh gửi của TCPEndPoint thay đổi trạng thái giữa trạng thái rảnh và không rảnh.

Chi tiết
Thông số
[in] endPoint
Điểm cuối TCP được liên kết với sự kiện.
[in] isIdle
Đúng nếu kênh gửi của điểm cuối TCP không hoạt động, ngược lại là false.

Thuộc tính công cộng

OnAcceptError

OnAcceptErrorFunct OnAcceptError

Đại diện chức năng xử lý sự kiện chấp nhận kết nối của điểm cuối.

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

Đại biểu chức năng xử lý sự kiện thiết lập kết nối của điểm cuối.

OnConnectionClosed

OnConnectionClosedFunct OnConnectionClosed

Đại biểu chức năng xử lý sự kiện đóng của điểm cuối.

OnConnectionRenition

OnConnectionReceivedFunct OnConnectionReceived

Kết nối của điểm cuối nhận chức năng xử lý sự kiện.

OnDataReceive

OnDataReceivedFunct OnDataReceived

Đại biểu chức năng xử lý sự kiện tiếp nhận văn bản tin nhắn của điểm cuối.

OnDataSent

OnDataSentFunct OnDataSent

Đại biểu chức năng xử lý sự kiện truyền tải văn bản thông báo của điểm cuối.

OnPeerClose

OnPeerCloseFunct OnPeerClose

Đại biểu chức năng xử lý sự kiện nhận nửa đóng của điểm cuối.

OnTCPSendIdleChanged

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

Đại biểu chức năng xử lý sự kiện của báo hiệu điểm cuối khi trạng thái không hoạt động của kênh gửi của kết nối TCP thay đổi.

Điều này được các lớp trên sử dụng để thực hiện các hành động thích hợp dựa trên việc liệu dữ liệu đã gửi đã được phân phối một cách đáng tin cậy cho đồng nghiệp hay chưa.

GetEnabled

bool ReceiveEnabled

Công tắc điều khiển cho biết ứng dụng có đang nhận dữ liệu hay không.

Tiểu bang

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

Trạng thái động cơ bản của điểm cuối bên dưới.

Các đối tượng được khởi tạo ở trạng thái "sẵn sàng", tiến tới các trạng thái tiếp theo tương ứng với sự đơn giản hóa các trạng thái của máy trạng thái truyền tải TCP.

Lưu ý: Việc liệt kê trạng thái kBasisState_Closed được ánh xạ tới kState_Ready vì lý do tương thích nhị phân lịch sử. Các hiện kState_Closed tồn tại để xác định riêng rẽ sự phân biệt giữa "không mở được nêu ra" và "trước đây nay đã mở đóng cửa" đã tồn tại trước đó trong kState_ReadykState_Closed tiểu bang.

Chức năng công cộng

Huỷ bỏ

void Abort(
  void
)

Nói cách khác, đóng điểm cuối một cách đột ngột, gửi các gói RST.

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

Xác nhận đã nhận nội dung tin nhắn.

Sử dụng phương pháp này để xác nhận việc tiếp nhận tất cả hoặc một phần dữ liệu đã nhận. Ngữ nghĩa hoạt động không được xác định nếu len lớn hơn tổng dữ liệu nhận được chưa xác nhận chưa xác định.

Chi tiết
Thông số
[in] len
số byte để xác nhận.
Giá trị trả lại
INET_NO_ERROR
thành công: sự tiếp nhận được thừa nhận.
INET_ERROR_INCORRECT_STATE
Kết nối TCP không được thiết lập.
INET_ERROR_CONNECTION_ABORTED
Kết nối TCP không còn mở.

Trói buộc

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

Liên kết điểm cuối với một địa chỉ IP giao diện.

Liên kết điểm cuối với địa chỉ IP giao diện mạng được chỉ định.

Chi tiết
Thông số
[in] addrType
phiên bản giao thức của địa chỉ IP
[in] addr
địa chỉ IP (phải là địa chỉ giao diện)
[in] port
cổng TCP
[in] reuseAddr
tùy chọn chia sẻ ràng buộc với các điểm cuối khác
Giá trị trả lại
INET_NO_ERROR
thành công: điểm cuối liên kết với địa chỉ
INET_ERROR_INCORRECT_STATE
điểm cuối đã bị ràng buộc trước đây
INET_NO_MEMORY
không đủ bộ nhớ cho điểm cuối
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType không khớp với IPVer .
INET_ERROR_WRONG_ADDRESS_TYPE
addrTypekIPAddressType_Any , hoặc loại addr không bằng addrType .
other
lỗi hệ thống hoặc nền tảng khác

Trên LwIP, phương thức này không được gọi với khóa ngăn xếp LwIP đã có.

Đóng

INET_ERROR Close(
  void
)

Nói cách khác, bắt đầu đóng hoàn toàn TCP, kết thúc với cả gửi và nhận.

Chi tiết
Giá trị trả lại
INET_NO_ERROR
thành công: địa chỉ và cổng được trích xuất.
INET_ERROR_INCORRECT_STATE
Kết nối TCP không được thiết lập.
other
lỗi hệ thống hoặc nền tảng khác

Kết nối

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

Bắt đầu kết nối 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.

Chi tiết
Thông số
[in] addr
địa chỉ IP đích
[in] port
cổng TCP đích
[in] intf
một chỉ báo giao diện mạng tùy chọn
Giá trị trả lại
INET_NO_ERROR
thành công: msg được xếp hàng đợi để truyền.
INET_ERROR_NOT_IMPLEMENTED
triển khai hệ thống không hoàn chỉnh.
INET_ERROR_WRONG_ADDRESS_TYPE
địa chỉ đích và địa chỉ giao diện liên kết không có phiên bản giao thức hoặc loại địa chỉ phù hợp, hoặc địa chỉ đích là địa chỉ cục bộ liên kết IPv6 và intf không được chỉ định.
other
lỗi hệ thống hoặc nền tảng khác

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

Tắt tùy chọn TCP "keep-living".

TCPEndPoint :: DisableKeepAlive .

Tắt đầu dò lưu giữ TCP trên kết nối TCP được liên kết.

Chi tiết
Giá trị trả lại
INET_NO_ERROR
thành công: địa chỉ và cổng được trích xuất.
INET_ERROR_INCORRECT_STATE
Kết nối TCP không được thiết lập.
INET_ERROR_CONNECTION_ABORTED
Kết nối TCP không còn mở.
INET_ERROR_NOT_IMPLEMENTED
triển khai hệ thống không hoàn chỉnh.
other
lỗi hệ thống hoặc nền tảng khác

Lưu ý: Phương thức này chỉ có thể được gọi khi điểm cuối ở một trong các trạng thái được kết nối. Phương pháp này không có tác dụng gì nếu keepalives chưa được kích hoạt trên điểm cuối.

DisableReceive

void DisableReceive(
  void
)

Tắt tính năng tiếp nhận.

Tắt tất cả các trình xử lý sự kiện. Dữ liệu được gửi đến một điểm cuối vô hiệu hóa nhận sẽ được xác nhận cho đến khi hết cửa sổ nhận.

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

Bật tùy chọn TCP "keep-living".

TCPEndPoint :: EnableKeepAlive .

Bắt đầu tự động truyền các phân đoạn thăm dò TCP "duy trì sự sống" sau mỗi giây interval . Kết nối sẽ tự động hủy bỏ sau khi nhận được phản hồi tiêu cực hoặc sau khi gửi các phân đoạn thăm dò timeoutCount mà không nhận được phản hồi tích cực.

Chi tiết
Thông số
[in] interval
thời gian tính bằng giây giữa các lần yêu cầu thăm dò.
[in] timeoutCount
số lượng đầu dò để gửi trước thời gian chờ.
Giá trị trả lại
INET_NO_ERROR
thành công: địa chỉ và cổng được trích xuất.
INET_ERROR_INCORRECT_STATE
Kết nối TCP không được thiết lập.
INET_ERROR_CONNECTION_ABORTED
Kết nối TCP không còn mở.
INET_ERROR_NOT_IMPLEMENTED
triển khai hệ thống không hoàn chỉnh.
other
lỗi hệ thống hoặc nền tảng khác

Xem RFC 1122, phần 4.2.3.6 để biết thông tin chi tiết.

Bật các đầu dò lưu giữ TCP trên kết nối TCP được liên kết.

Lưu ý: Phương thức này chỉ có thể được gọi khi điểm cuối ở một trong các trạng thái được kết nối. Phương pháp này có thể được gọi nhiều lần để điều chỉnh khoảng thời gian lưu trữ hoặc số lượng thời gian chờ.

Chi tiết
Thông số
interval
Khoảng thời gian (tính bằng giây) giữa các đầu dò lưu giữ. Giá trị này cũng kiểm soát thời gian giữa gói dữ liệu cuối cùng được gửi đến khi truyền đầu dò lưu giữ đầu tiên.
timeoutCount
Số đầu dò chưa được xác nhận tối đa trước khi kết nối sẽ được coi là không thành công.

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

EnableNoDelay.

TCPEndPoint :: EnableNoDelay .

Tắt thuật toán đệm nagle trong TCP bằng cách đặt các tùy chọn ổ cắm TCP_NODELAY.

EnableReceive

void EnableReceive(
  void
)

Bật tính năng tiếp nhận.

Bật tất cả các trình xử lý sự kiện. Dữ liệu được gửi đến một điểm cuối vô hiệu hóa nhận sẽ được xác nhận cho đến khi hết cửa sổ nhận.

Miễn phí

void Free(
  void
)

Bắt đầu (hoặc tiếp tục) TCP đóng hoàn toàn, bỏ qua lỗi.

Đối tượng được trả về nhóm miễn phí và tất cả các tham chiếu người dùng còn lại sau đó không hợp lệ.

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

Trích xuất địa chỉ IP và cổng TCP của điểm cuối cục bộ.

Không sử dụng giá trị con trỏ NULL cho một trong hai đối số.

Chi tiết
Thông số
[out] retAddr
Địa chỉ IP của điểm cuối cục bộ.
[out] retPort
Cổng TCP của điểm cuối cục bộ.
Giá trị trả lại
INET_NO_ERROR
thành công: địa chỉ và cổng được trích xuất.
INET_ERROR_INCORRECT_STATE
Kết nối TCP không được thiết lập.
INET_ERROR_CONNECTION_ABORTED
Kết nối TCP không còn mở.

GetPeerInfo

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

Trích xuất địa chỉ IP và cổng TCP của điểm cuối từ xa.

Không sử dụng giá trị con trỏ NULL cho một trong hai đối số.

Chi tiết
Thông số
[out] retAddr
Địa chỉ IP của điểm cuối từ xa.
[out] retPort
Cổng TCP của điểm cuối từ xa.
Giá trị trả lại
INET_NO_ERROR
thành công: địa chỉ và cổng được trích xuất.
INET_ERROR_INCORRECT_STATE
Kết nối TCP không được thiết lập.
INET_ERROR_CONNECTION_ABORTED
Kết nối TCP không còn mở.

Đã kết nối

bool IsConnected(
  void
) const 

Trích xuất xem kết nối TCP có được thiết lập hay không.

Nghe

INET_ERROR Listen(
  uint16_t backlog
)

Chuẩn bị điểm cuối để nhận thông điệp TCP.

Nếu State đã là kState_Listening , thì không có hoạt động nào được thực hiện, nếu không thì State được đặt thành kState_Listening và điểm cuối được chuẩn bị để nhận các thông điệp TCP, theo ngữ nghĩa của nền tảng.

Chi tiết
Thông số
[in] backlog
độ sâu tối đa của hàng đợi chấp nhận kết nối
Giá trị trả lại
INET_NO_ERROR
thành công: điểm cuối sẵn sàng nhận tin nhắn.
INET_ERROR_INCORRECT_STATE
endpoint đã được lắng nghe.

Trên một số nền tảng, đối số backlog không được sử dụng (độ sâu của hàng đợi là cố định; chỉ có thể chấp nhận một kết nối tại một thời điểm).

Trên các hệ thống LwIP, phương thức này không được gọi với khóa ngăn xếp LwIP đã có

LogId

uint16_t LogId(
  void
)

Lấy mã định danh cho điểm cuối.

Chi tiết
Lợi nhuận
Trả về số nhận dạng duy nhất không rõ ràng cho nhật ký sử dụng.

MarkActive

void MarkActive(
  void
)

Nói cách khác, lưu ý hoạt động, đặt lại bộ hẹn giờ nhàn rỗi.

Đặt lại bộ hẹn giờ nhàn rỗi về 0.

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

Trích xuất độ dài của dữ liệu nhận chưa được xác nhận.

Chi tiết
Lợi nhuận
Số byte trong hàng đợi nhận chưa được xác nhận với AckReceive(uint16_t len) .

PendingSendLength

uint32_t PendingSendLength(
  void
)

Trích xuất độ dài của dữ liệu đang chờ truyền đầu tiên.

Chi tiết
Lợi nhuận
Số byte chưa được truyền trong hàng đợi truyền.

PutBackReceiveData

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

Đẩy văn bản tin nhắn trở lại đầu hàng đợi nhận.

Phương thức này chỉ có thể được gọi bởi bộ xử lý sự kiện tiếp nhận dữ liệu để đưa một phần dữ liệu chưa được xác nhận trở lại hàng đợi nhận. Ngữ nghĩa hoạt động không được xác định nếu trình gọi nằm ngoài phạm vi của trình xử lý sự kiện tiếp nhận dữ liệu, data không phải là Weave::System::PacketBuffer được cung cấp cho trình xử lý hoặc data không chứa phần chưa được xác nhận còn lại sau các byte được xác nhận bởi a gọi trước phương thức AckReceive(uint16_t len) .

Chi tiết
Thông số
[out] data
Tin nhắn văn bản để đẩy.
Giá trị trả lại
INET_NO_ERROR
thành công: sự tiếp nhận được thừa nhận.
INET_ERROR_INCORRECT_STATE
Kết nối TCP không được thiết lập.

Gửi

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

Gửi tin nhắn văn bản trên kết nối TCP.

Phương thức Weave::System::PacketBuffer::Free được gọi trên đối số data bất kể quá trình truyền thành công hay thất bại.

Chi tiết
Thông số
[out] data
Tin nhắn văn bản để gửi.
[out] push
Nếu true thì gửi ngay, nếu không thì xếp hàng.
Giá trị trả lại
INET_NO_ERROR
thành công: địa chỉ và cổng được trích xuất.
INET_ERROR_INCORRECT_STATE
Kết nối TCP không được thiết lập.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Đặt thời gian chờ để Kết nối thành công hoặc trả lại lỗi.

Chi tiết
Thông số
[in] connTimeoutMsecs

SetUserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

Đặt tùy chọn ổ cắm TCP TCP_USER_TIMEOUT.

TCPEndPoint :: SetUserTimeout .

Khi giá trị lớn hơn 0, nó chỉ định lượng thời gian tối đa tính bằng mili giây mà dữ liệu đã truyền có thể vẫn chưa được xác nhận trước khi TCP buộc đóng kết nối tương ứng. Nếu giá trị tùy chọn được chỉ định là 0, TCP sẽ sử dụng giá trị mặc định của hệ thống. Xem RFC 5482, để biết thêm chi tiết.

Chi tiết
Thông số
[in] userTimeoutMillis
Giá trị thời gian chờ của người dùng tcp tính bằng mili giây.
Giá trị trả lại
INET_NO_ERROR
thành công: địa chỉ và cổng được trích xuất.
INET_ERROR_NOT_IMPLEMENTED
triển khai hệ thống không hoàn chỉnh.
other
lỗi hệ thống hoặc nền tảng khác

Đặt tùy chọn ổ cắm thời gian chờ của người dùng TCP.

Khi giá trị lớn hơn 0, nó chỉ định lượng thời gian tối đa tính bằng mili giây mà dữ liệu đã truyền có thể vẫn chưa được xác nhận trước khi TCP buộc đóng kết nối tương ứng. Nếu giá trị tùy chọn được chỉ định là 0, TCP sẽ sử dụng mặc định của hệ thống. Xem RFC 5482, để biết thêm chi tiết.

Lưu ý: Phương thức này chỉ có thể được gọi khi điểm cuối ở một trong các trạng thái được kết nối. Phương pháp này có thể được gọi nhiều lần để điều chỉnh khoảng thời gian lưu trữ hoặc số lượng thời gian chờ.

Tắt

INET_ERROR Shutdown(
  void
)

Nói cách khác, bắt đầu đóng một nửa TCP, nói cách khác, đã hoàn tất quá trình gửi.

Chi tiết
Giá trị trả lại
INET_NO_ERROR
thành công: địa chỉ và cổng được trích xuất.
INET_ERROR_INCORRECT_STATE
Kết nối TCP không được thiết lập.
other
lỗi hệ thống hoặc nền tảng khác