nl::Inet::TCPEndPoint

#include <src/inet/TCPEndPoint.h>

Bu sınıfın nesneleri, TCP aktarım uç noktalarını temsil eder.

Özet

Nest Inet Katmanı, sistem uygun şekilde yapılandırıldığından TCP aktarım uç noktalarıyla (Linux ve BSD tabanlı sistemlerde SOCK_STREAM yuvaları) veya LwIP TCP protokolü kontrol bloklarıyla etkileşim yöntemlerini içerir.

Devralma

Devralındığı kaynak: nl::Inet::EndPointBasis

Herkese açık türler

@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
Temel uç noktanın temel dinamik durumu.
OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Bağlantı kabul hatası etkinliği işleme işlevinin türü.
OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Bağlantı kurulumu etkinlik işleme işlevinin türü.
OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Bağlantı kurulumu etkinlik işleme işlevinin türü.
OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
Bağlantı türü alınan etkinlik işleme işlevi.
OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
Veri alma etkinliği işleme işlevinin türü.
OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
Veri aktarımı etkinlik işleme işlevinin türü.
OnPeerCloseFunct)(TCPEndPoint *endPoint) typedef
void(*
Yarı yakın alma etkinliği işleme işlevinin türü.
OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
TCP SendIdle değiştirilen sinyal işleme işlevinin türü.

Herkese açık özellikler

OnAcceptError
Uç noktanın bağlantı kabulü etkinlik işleme işlevi yetkisi.
OnConnectComplete
Uç noktanın bağlantı kuruluşu etkinlik işleme işlevi yetkisi.
OnConnectionClosed
Uç noktanın kapanış etkinlik işleme işlevi yetkisi.
OnConnectionReceived
Uç nokta bağlantısının etkinlik işleme işlevi yetkisini alma.
OnDataReceived
Uç noktanın mesaj metni alma etkinliği işleme işlevi yetkisi.
OnDataSent
Uç noktanın mesaj metni iletim etkinliği işleme işlevi yetkisi.
OnPeerClose
Uç noktanın yarı kapalı alma etkinlik işleme işlevi temsilcisi.
OnTCPSendIdleChanged
TCP bağlantısının gönderme kanalının boşta kalma durumu değiştiğinde, uç nokta sinyali için olay işleme işlevi yetki verilmiş olur.
ReceiveEnabled
bool
Uygulamanın veri alıp almadığını gösteren kontrol anahtarı.
State
enum nl::Inet::TCPEndPoint::@10
Temel uç noktanın temel dinamik durumu.

Herkese açık işlevler

Abort(void)
void
Uç noktayı iptal ederek kapatın, diğer bir deyişle RST paketleri gönderin.
AckReceive(uint16_t len)
İleti metninin alındığını onaylayın.
Bind(IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
Uç noktayı bir arayüz IP adresine bağlayın.
Close(void)
TCP tam kapatma işlemini başlatın; diğer bir deyişle, hem gönderme hem de alma işlemiyle biter.
Connect(IPAddress addr, uint16_t port, InterfaceId intf)
TCP bağlantısı başlatın.
DisableKeepAlive(void)
TCP "keep-alive" etkinliğini devre dışı bırakma seçeneğini belirleyin.
DisableReceive(void)
void
Alımı devre dışı bırak.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
TCP "keep-alive" etkinliğini etkinleştirme seçeneğini belirleyin.
EnableNoDelay(void)
Etkinleştir.
EnableReceive(void)
void
Resepsiyonu etkinleştirin.
Free(void)
void
Hataları yok sayarak TCP tam kapatma işlemini başlatın (veya devam edin).
GetLocalInfo(IPAddress *retAddr, uint16_t *retPort)
Yerel uç noktanın IP adresini ve TCP bağlantı noktasını çıkarın.
GetPeerInfo(IPAddress *retAddr, uint16_t *retPort) const
Uzak uç noktanın IP adresini ve TCP bağlantı noktasını çıkarın.
IsConnected(void) const
bool
TCP bağlantısının kurulup kurulmadığını ayıklayın.
Listen(uint16_t backlog)
Uç noktayı TCP mesajlarını alacak şekilde hazırlayın.
LogId(void)
uint16_t
Uç nokta için bir tanımlayıcı edinin.
MarkActive(void)
void
Etkinlik not edildi. Başka bir deyişle, boşta kalma zamanlayıcısını sıfırlayın.
PendingReceiveLength(void)
uint32_t
Onaylanmayan alma verilerinin uzunluğunu çıkarın.
PendingSendLength(void)
uint32_t
İlk iletmeyi bekleyen verilerin uzunluğunu çıkarın.
PutBackReceivedData(Weave::System::PacketBuffer *data)
İleti metnini tekrar alma sırasının başına gönderin.
Send(Weave::System::PacketBuffer *data, bool push)
TCP bağlantısı üzerinden mesaj metni gönderin.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Bağlanma işleminin başarılı olması veya hata döndürmesi için zaman aşımını ayarlayın.
SetUserTimeout(uint32_t userTimeoutMillis)
TCP_USER_TIMEOUT yuva seçeneğini ayarlayın.
Shutdown(void)
TCP'yi yarım yakın başlat; diğer bir deyişle gönderme işlemi bitmiştir.

Herkese açık türler

@10

 @10

Temel uç noktanın temel dinamik durumu.

Nesneler "hazır"da başlatılır TCP aktarım durumu makinesinin durumlarının basitleştirilmesine karşılık gelen sonraki durumlara geçin.

Not: kBasisState_Closed durumu numaralandırması, geçmiş ikili uyumluluk nedeniyle kState_Ready ile eşlenmiştir. Mevcut kState_Closed, "henüz açılmadı" arasındaki farkı ayrı olarak tanımlamak için kullanılır. ve "daha önce şu anda açılmıştı kapalı" daha önce kState_Ready ve kState_Closed eyaletlerinde bulunan öğe türleri.

Özellikler
kState_Bound

Uç nokta bağlı ancak dinlenmiyor.

kState_Closed

Uç nokta kapatıldı, yayınlanmaya hazır.

kState_Closing

Uç nokta çift yönlü kapanıyor.

kState_Connected

Uç nokta bağlandı, işlem için hazır.

kState_Connecting

Uç nokta bağlanmaya çalışıyor.

kState_Listening

Uç nokta bağlantı alıyor.

kState_Ready

Uç nokta başlatıldı ancak bağlı değil.

kState_ReceiveShutdown

Uç nokta yarı kapalı yanıt verdi.

kState_SendShutdown

Uç nokta, yarım kapanışı başlattı.

OnAcceptErrorFunct

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

Bağlantı kabul hatası etkinliği işleme işlevinin türü.

endPoint tarihinde bağlantı kabulü hatası etkinliklerini işlemesi için yetki verilmiş OnAcceptError üyesine bu tür bir işlev sağlayın. err bağımsız değişkeni, hatanın türüyle ilgili belirli ayrıntıları sağlar.

Ayrıntılar
Parametreler
[in] endPoint
Etkinlikle ilişkili TCP uç noktası.
[in] err
Hatanın nedeni.

OnConnectCompleteFunct

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

Bağlantı kurulumu etkinlik işleme işlevinin türü.

endPoint üzerinde bağlantı kurma etkinliklerini işlemesi için yetki verilmiş OnConnectComplete üyesine bu tür bir işlev sağlayın. err bağımsız değişkeni, başarılı bağlantıları hatalardan ayırt eder.

Ayrıntılar
Parametreler
[in] endPoint
Etkinlikle ilişkili TCP uç noktası.
[in] err
Başarılıysa INET_NO_ERROR, aksi takdirde başka bir kod girin.

OnConnectionClosedFunct

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

Bağlantı kurulumu etkinlik işleme işlevinin türü.

endPoint üzerinde bağlantı sonlandırma etkinliklerini işlemesi için yetki verilmiş OnConnectionClosed üyesine bu tür bir işlev sağlayın. err bağımsız değişkeni, başarılı sonlandırmaları başarısızlardan ayırt eder.

Ayrıntılar
Parametreler
[in] endPoint
Etkinlikle ilişkili TCP uç noktası.
[in] err
Başarılıysa INET_NO_ERROR, aksi takdirde başka bir kod girin.

OnConnectionReceivedFunct

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

Bağlantı türü alınan etkinlik işleme işlevi.

listeningEndPoint üzerinde bağlantı alma etkinliklerini işlemesi için yetki verilmiş OnConnectionReceived üyesine bu tür bir işlev sağlayın. Yeni alınan uç nokta (conEndPoint), peerAddr IP adresinde ve peerPort TCP bağlantı noktasında yer alıyor.

Ayrıntılar
Parametreler
[in] listeningEndPoint
Dinleme TCP uç noktası.
[in] conEndPoint
Yeni alınan TCP uç noktası.
[in] peerAddr
Uzak eşin IP adresi.
[in] peerPort
Uzak eşlemenin TCP bağlantı noktası.

OnDataReceivedFunct

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

Veri alma etkinliği işleme işlevinin türü.

endPoint üzerinde veri alma etkinliklerini işlemek için OnDataReceived yetki verilmiş üyeye bu tür bir işlev sağlayın. Burada data, alınan mesaj metnidir.

Ayrıntılar
Parametreler
[in] endPoint
Etkinlikle ilişkili TCP uç noktası.
[in] data
Alınan veriler.

Veri alma etkinlik işleyicisi, AckReceive yöntemi kullanılarak işlenen verileri onaylamalıdır. Bunun yerine PutBackReceivedData kullanılmadığı sürece veri arabelleğindeki Free yöntemi de çağrılmalıdır.

OnDataSentFunct

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

Veri aktarımı etkinlik işleme işlevinin türü.

endPoint üzerinde veri iletim etkinliklerini işlemesi için OnDataSent yetki verilmiş üyeye bu tür bir işlev sağlayın. Burada len, TCP iletim penceresine eklenen ve temel ağ yığını tarafından gönderilmeye uygun olan mesaj metninin uzunluğudur.

Ayrıntılar
Parametreler
[in] endPoint
Etkinlikle ilişkili TCP uç noktası.
[in] len
İletim penceresine eklenen bayt sayısı.

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

Yarı yakın alma etkinliği işleme işlevinin türü.

endPoint üzerinde bağlantı sonlandırma etkinliklerini işlemesi için yetki verilmiş OnPeerClose üyesine bu tür bir işlev sağlayın.

Ayrıntılar
Parametreler
[in] endPoint
Etkinlikle ilişkili TCP uç noktası.

OnTCPSendIdleChangedFunct

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

TCP SendIdle değiştirilen sinyal işleme işlevinin türü.

TCPEndPoint'in gönderme kanalı etkinliğini, boşta ile boşta olmama arasında değiştiren OnTCPSendIdleChanged yetkili üyesine bu tür bir işlev sağlayın.

Ayrıntılar
Parametreler
[in] endPoint
Etkinlikle ilişkili TCP uç noktası.
[in] isIdle
TCP uç noktasının gönderme kanalı Boşta ise doğru, aksi takdirde false değerini alır.

Herkese açık özellikler

OnAcceptError

OnAcceptErrorFunct OnAcceptError

Uç noktanın bağlantı kabulü etkinlik işleme işlevi yetkisi.

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

Uç noktanın bağlantı kuruluşu etkinlik işleme işlevi yetkisi.

OnConnectionClosed

OnConnectionClosedFunct OnConnectionClosed

Uç noktanın kapanış etkinlik işleme işlevi yetkisi.

OnConnectionReceived

OnConnectionReceivedFunct OnConnectionReceived

Uç nokta bağlantısının etkinlik işleme işlevi yetkisini alma.

OnDataReceived

OnDataReceivedFunct OnDataReceived

Uç noktanın mesaj metni alma etkinliği işleme işlevi yetkisi.

OnDataSent

OnDataSentFunct OnDataSent

Uç noktanın mesaj metni iletim etkinliği işleme işlevi yetkisi.

OnPeerClose

OnPeerCloseFunct OnPeerClose

Uç noktanın yarı kapalı alma etkinlik işleme işlevi temsilcisi.

OnTCPSendIdleChanged

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

TCP bağlantısının gönderme kanalının boşta kalma durumu değiştiğinde, uç nokta sinyali için olay işleme işlevi yetki verilmiş olur.

Bu veriler, gönderilen verilerin eşe güvenilir bir şekilde teslim edilip edilmediğine bağlı olarak uygun işlemleri yapmak için üst katmanlar tarafından kullanılır.

ReceiveEnabled

bool ReceiveEnabled

Uygulamanın veri alıp almadığını gösteren kontrol anahtarı.

Eyalet

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

Temel uç noktanın temel dinamik durumu.

Nesneler "hazır"da başlatılır TCP aktarım durumu makinesinin durumlarının basitleştirilmesine karşılık gelen sonraki durumlara geçin.

Not: kBasisState_Closed durumu numaralandırması, geçmiş ikili uyumluluk nedeniyle kState_Ready ile eşlenmiştir. Mevcut kState_Closed, "henüz açılmadı" arasındaki farkı ayrı olarak tanımlamak için kullanılır. ve "daha önce şu anda açılmıştı kapalı" daha önce kState_Ready ve kState_Closed eyaletlerinde bulunan öğe türleri.

Herkese açık işlevler

İptal et

void Abort(
  void
)

Uç noktayı iptal ederek kapatın, diğer bir deyişle RST paketleri gönderin.

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

İleti metninin alındığını onaylayın.

Alınan verilerin tamamının veya bir kısmının alındığını onaylamak için bu yöntemi kullanın. len, bekleyen onaylanmamış toplam veriden daha büyükse operasyonel anlamlar tanımlanmaz.

Ayrıntılar
Parametreler
[in] len
onaylanacak bayt sayısı.
Değerleri Döndür
INET_NO_ERROR
kabul edilir.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.
INET_ERROR_CONNECTION_ABORTED
TCP bağlantısı artık açık değil.

Bağla

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

Uç noktayı bir arayüz IP adresine bağlayın.

Uç noktayı belirtilen ağ arayüzü IP adresine bağlar.

Ayrıntılar
Parametreler
[in] addrType
IP adresinin protokol sürümü
[in] addr
IP adresi (arayüz adresi olmalıdır)
[in] port
TCP bağlantı noktası
[in] reuseAddr
bağlamayı diğer uç noktalarla paylaşma seçeneği
Değerleri Döndür
INET_NO_ERROR
başarılı: uç nokta adrese bağlı
INET_ERROR_INCORRECT_STATE
uç nokta daha önce bağlandı
INET_NO_MEMORY
uç nokta için yetersiz bellek
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType, IPVer ile eşleşmiyor.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType, kIPAddressType_Any değerine sahip veya addr türü, addrType değerine eşit değil.
other
başka bir sistem veya platform hatası

LwIP'de bu yöntem, halihazırda edinilmiş LwIP yığın kilidiyle çağrılmamalıdır.

Kapat

INET_ERROR Close(
  void
)

TCP tam kapatma işlemini başlatın; diğer bir deyişle, hem gönderme hem de alma işlemiyle biter.

Ayrıntılar
Değerleri Döndür
INET_NO_ERROR
başarılı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.
other
başka bir sistem veya platform hatası

Bağlan

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

TCP bağlantısı başlatın.

 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.

Ayrıntılar
Parametreler
[in] addr
hedef IP adresi
[in] port
hedef TCP bağlantı noktası
[in] intf
isteğe bağlı bir ağ arayüzü göstergesi
Değerleri Döndür
INET_NO_ERROR
başarılı: msg iletim için sıraya alındı.
INET_ERROR_NOT_IMPLEMENTED
sistem uygulaması tamamlanmadı.
INET_ERROR_WRONG_ADDRESS_TYPE
Hedef adresi ve bağlı arayüz adresinin protokol sürümleri veya adres türü eşleşmiyor ya da hedef adres bir IPv6 yerel bağlantı adresi ve intf belirtilmemiş.
other
başka bir sistem veya platform hatası

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

TCP "keep-alive" etkinliğini devre dışı bırakma seçeneğini belirleyin.

TCPEndPoint::DisableKeepAlive.

İlişkili TCP bağlantısında TCP keepalive kontrollerini devre dışı bırak.

Ayrıntılar
Değerleri Döndür
INET_NO_ERROR
başarılı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.
INET_ERROR_CONNECTION_ABORTED
TCP bağlantısı artık açık değil.
INET_ERROR_NOT_IMPLEMENTED
sistem uygulaması tamamlanmadı.
other
başka bir sistem veya platform hatası

Not: Bu yöntem yalnızca uç nokta, bağlı durumlardan birinde olduğunda çağrılabilir. Uçta keepalive'lar etkinleştirilmemişse bu yöntem hiçbir şey yapmaz.

DisableReceive

void DisableReceive(
  void
)

Alımı devre dışı bırak.

Tüm etkinlik işleyicileri devre dışı bırakın. Sinyal alımını devre dışı bırakan bir uç noktaya gönderilen veriler, alma süresi dolana kadar onaylanır.

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

TCP "keep-alive" etkinliğini etkinleştirme seçeneğini belirleyin.

TCPEndPoint::EnableKeepAlive.

TCP "keep-alive" adlı TCP'yi otomatik olarak iletmeye başla her interval saniyede bir yoklama segmenti oluşturun. Olumsuz bir yanıt aldıktan veya olumlu bir yanıt almadan timeoutCount yoklama segmentini gönderdikten sonra bağlantı otomatik olarak iptal edilecek.

Ayrıntılar
Parametreler
[in] interval
süre (saniye cinsinden)
[in] timeoutCount
zaman aşımından önce gönderilecek yoklama sayısı.
Değerleri Döndür
INET_NO_ERROR
başarılı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.
INET_ERROR_CONNECTION_ABORTED
TCP bağlantısı artık açık değil.
INET_ERROR_NOT_IMPLEMENTED
sistem uygulaması tamamlanmadı.
other
başka bir sistem veya platform hatası

Spesifikasyon ayrıntıları için RFC 1122, bölüm 4.2.3.6'ya bakın.

İlişkili TCP bağlantısında TCP keepalive kontrollerini etkinleştirin.

Not: Bu yöntem yalnızca uç nokta, bağlı durumlardan birinde olduğunda çağrılabilir. Bu yöntem, keepalive aralığını veya zaman aşımı sayısını ayarlamak için birden çok kez çağrılabilir.

Ayrıntılar
Parametreler
interval
Keepalive kontrolleri arasındaki aralık (saniye cinsinden). Bu değer aynı zamanda, gönderilen son veri paketi ile ilk keepalive denetiminin iletimi arasındaki süreyi de kontrol eder.
timeoutCount
Bağlantının başarısız olduğu kabul edilmeden önceki maksimum onaylanmamış kontrol sayısı.

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

Etkinleştir.

TCPEndPoint::EnableNoDelay.

TCP_NOEmailAddress yuva seçeneklerini ayarlayarak TCP'de arabelleğe alma algoritmasını devre dışı bırakın.

EnableReceive

void EnableReceive(
  void
)

Resepsiyonu etkinleştirin.

Tüm etkinlik işleyicileri etkinleştirin. Sinyal alımını devre dışı bırakan bir uç noktaya gönderilen veriler, alma süresi dolana kadar onaylanır.

Ücretsiz

void Free(
  void
)

Hataları yok sayarak TCP tam kapatma işlemini başlatın (veya devam edin).

Nesne, ücretsiz havuza döndürülür ve kalan tüm kullanıcı referansları daha sonra geçersiz olur.

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

Yerel uç noktanın IP adresini ve TCP bağlantı noktasını çıkarın.

İki bağımsız değişken için de NULL işaretçi değerleri kullanmayın.

Ayrıntılar
Parametreler
[out] retAddr
Yerel uç noktanın IP adresi.
[out] retPort
Yerel uç noktanın TCP bağlantı noktası.
Değerleri Döndür
INET_NO_ERROR
başarılı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.
INET_ERROR_CONNECTION_ABORTED
TCP bağlantısı artık açık değil.

GetPeerInfo

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

Uzak uç noktanın IP adresini ve TCP bağlantı noktasını çıkarın.

İki bağımsız değişken için de NULL işaretçi değerleri kullanmayın.

Ayrıntılar
Parametreler
[out] retAddr
Uzak uç noktanın IP adresi.
[out] retPort
Uzak uç noktanın TCP bağlantı noktası.
Değerleri Döndür
INET_NO_ERROR
başarılı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.
INET_ERROR_CONNECTION_ABORTED
TCP bağlantısı artık açık değil.

IsConnected

bool IsConnected(
  void
) const 

TCP bağlantısının kurulup kurulmadığını ayıklayın.

Dinle

INET_ERROR Listen(
  uint16_t backlog
)

Uç noktayı TCP mesajlarını alacak şekilde hazırlayın.

State zaten kState_Listening ise herhangi bir işlem yapılmaz. Aksi takdirde State, kState_Listening olarak ayarlanır ve uç nokta, platformun anlamlarına göre TCP mesajlarını almaya hazırlanır.

Ayrıntılar
Parametreler
[in] backlog
bağlantı kabul sırasının maksimum derinliği
Değerleri Döndür
INET_NO_ERROR
başarılı: uç nokta mesaj almaya hazır.
INET_ERROR_INCORRECT_STATE
uç nokta zaten dinliyor.

Bazı platformlarda backlog bağımsız değişkeni kullanılmaz (sıranın derinliği sabittir; tek seferde yalnızca bir bağlantı kabul edilebilir).

LwIP sistemlerinde bu yöntem, halihazırda edinilmiş LwIP yığın kilidiyle çağrılmamalıdır

LogId

uint16_t LogId(
  void
)

Uç nokta için bir tanımlayıcı edinin.

Ayrıntılar
İadeler
Kullanım günlükleri için opak bir benzersiz tanımlayıcı döndürür.

MarkActive

void MarkActive(
  void
)

Etkinlik not edildi. Başka bir deyişle, boşta kalma zamanlayıcısını sıfırlayın.

Boşta kalma zamanlayıcısını sıfırlayın.

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

Onaylanmayan alma verilerinin uzunluğunu çıkarın.

Ayrıntılar
İadeler
Alma sırasında bulunan ancak AckReceive(uint16_t len) ile henüz onaylanmamış bayt sayısı.

PendingSendLength

uint32_t PendingSendLength(
  void
)

İlk iletmeyi bekleyen verilerin uzunluğunu çıkarın.

Ayrıntılar
İadeler
İletim sırasındaki iletilmemiş bayt sayısı.

PutBackReceivedData

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

İleti metnini tekrar alma sırasının başına gönderin.

Bu yöntem yalnızca, verilerin onaylanmamış bir bölümünü alma sırasına tekrar yerleştirmek için veri alma etkinlik işleyicileri tarafından çağrılabilir. Arayan kişi bir veri alma olay işleyicisinin kapsamı dışındaysa, data, işleyiciye sağlanan Weave::System::PacketBuffer değilse veya data, AckReceive(uint16_t len) yöntemine yapılan bir önceki çağrıyla onaylanan baytlardan sonra kalan onaylanmamış bölümü içermiyorsa operasyonel anlamlar tanımlanmaz.

Ayrıntılar
Parametreler
[out] data
Aktarılacak mesaj metni.
Değerleri Döndür
INET_NO_ERROR
kabul edilir.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.

Gönder

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

TCP bağlantısı üzerinden mesaj metni gönderin.

Weave::System::PacketBuffer::Free yöntemi, aktarımın başarılı veya başarısız olmasına bakılmaksızın data bağımsız değişkeninde çağrılır.

Ayrıntılar
Parametreler
[out] data
Gönderilecek mesaj metni.
[out] push
true ise hemen gönderin, aksi takdirde sıraya girin.
Değerleri Döndür
INET_NO_ERROR
başarılı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Bağlanma işleminin başarılı olması veya hata döndürmesi için zaman aşımını ayarlayın.

Ayrıntılar
Parametreler
[in] connTimeoutMsecs

SetUserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

TCP_USER_TIMEOUT yuva seçeneğini ayarlayın.

TCPEndPoint::SetUser hitap şekli.

Değer 0'dan büyük olduğunda, TCP karşılık gelen bağlantıyı zorla kapatmadan önce, iletilen verilerin onaylanmadan kalabileceği maksimum süreyi milisaniye cinsinden belirtir. Seçenek değeri 0 olarak belirtilirse TCP, sistem varsayılanını kullanır. Daha fazla bilgi için RFC 5482'ye bakın.

Ayrıntılar
Parametreler
[in] userTimeoutMillis
TCP kullanıcı zaman aşımı değeri (milisaniye cinsinden).
Değerleri Döndür
INET_NO_ERROR
başarılı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_NOT_IMPLEMENTED
sistem uygulaması tamamlanmadı.
other
başka bir sistem veya platform hatası

TCP kullanıcı zaman aşımı yuvası seçeneğini ayarlayın.

Değer 0'dan büyük olduğunda, TCP karşılık gelen bağlantıyı zorla kapatmadan önce, iletilen verilerin onaylanmadan kalabileceği maksimum süreyi milisaniye cinsinden belirtir. Seçenek değeri 0 olarak belirtilirse TCP, sistem varsayılanını kullanır. Daha fazla bilgi için RFC 5482'ye bakın.

Not: Bu yöntem yalnızca uç nokta, bağlı durumlardan birinde olduğunda çağrılabilir. Bu yöntem, keepalive aralığını veya zaman aşımı sayısını ayarlamak için birden çok kez çağrılabilir.

Kapat

INET_ERROR Shutdown(
  void
)

TCP'yi yarım yakın başlat; diğer bir deyişle gönderme işlemi bitmiştir.

Ayrıntılar
Değerleri Döndür
INET_NO_ERROR
başarılı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.
other
başka bir sistem veya platform hatası