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ı, TCP aktarım uç noktaları (Linux ve BSD ile türetilmiş sistemlerde SOCK_STREAM yuvaları) veya LwIP TCP protokol kontrol bloklarıyla etkileşime yönelik yöntemleri içerir (sistemin buna göre yapılandırıldığından).

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ı olay işleme işlevinin türü.
OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Bağlantı kurma etkinliği işleme işlevinin türü.
OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Bağlantı kurma etkinliği işleme işlevinin türü.
OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
Alınan olay işleme işlevi bağlantısının türü.
OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
Veri alımı olay işleme işlevinin türü.
OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
Veri iletimi olay işleme işlevinin türü.
OnPeerCloseFunct)(TCPEndPoint *endPoint) typedef
void(*
Yarım kapanışta alım etkinliği işleme işlevinin türü.
OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
TCP SendIdle türü değiştirilmiş sinyal işleme işlevi işlevi.

Herkese açık özellikler

OnAcceptError
Uç noktanın bağlantı kabul etkinliği işleme işlevi temsilcisi.
OnConnectComplete
Uç noktanın bağlantı kurulumu etkinlik işleme işlevi temsilcisi.
OnConnectionClosed
Uç noktanın kapanış etkinlik işleme işlevi temsilcisi.
OnConnectionReceived
Uç noktanın bağlantısı, olay işleme işlevi temsilcisini alır.
OnDataReceived
Uç noktanın mesaj metni alma etkinlik işleme işlevi temsilcisi.
OnDataSent
Uç noktanın mesaj metni iletimi olay işleme işlevi temsilcisi.
OnPeerClose
Uç noktanın yarım kapanış alma etkinliği 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 sinyalinin etkinlik işleme işlevi yetkisi.
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.

Kamu işlevleri

Abort(void)
void
Uç noktayı iptal ederek kapatın. Başka 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ı arayüz IP adresine bağlayın.
Close(void)
TCP tam kapanışını başlatın, diğer bir deyişle hem gönderme hem de alma ile biter.
Connect(IPAddress addr, uint16_t port, InterfaceId intf)
TCP bağlantısı başlatın.
DisableKeepAlive(void)
TCP "keep-alive" seçeneğini devre dışı bırakın.
DisableReceive(void)
void
Sinyal alımını devre dışı bırak.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
TCP "keep-alive" seçeneğini etkinleştirin.
EnableNoDelay(void)
NoDelay'i etkinleştirin.
EnableReceive(void)
void
Sinyal alımını etkinleştir.
Free(void)
void
Hataları yoksayarak TCP'nin tam kapanışını 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ı ayıklayı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ı almaya hazırlayın.
LogId(void)
uint16_t
Uç nokta için bir tanımlayıcı edinin.
MarkActive(void)
void
Not etkinliği, diğer bir deyişle boşta kalma zamanlayıcısı sıfırlanır.
PendingReceiveLength(void)
uint32_t
Onaylanmayan alma verilerinin uzunluğunu ayıklayın.
PendingSendLength(void)
uint32_t
İlk gönderim için bekleyen verilerin uzunluğunu ayıklayın.
PutBackReceivedData(Weave::System::PacketBuffer *data)
Mesaj metnini, alma sırasının başına geri gönderin.
Send(Weave::System::PacketBuffer *data, bool push)
TCP bağlantısında 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 TCP_USER_TIMEOUT yuvası seçeneğini ayarlayın.
Shutdown(void)
TCP'nin yarısına yakınını başlatın, diğer bir deyişle göndermeyle biter.

Herkese açık türler

@10

 @10

Temel uç noktanın temel dinamik durumu.

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

Not: kBasisState_Closed durum sıralaması, geçmişe dönük ikili uyumluluk nedenleri için kState_Ready ile eşlenir. Mevcut kState_Closed, daha önce kState_Ready ve kState_Closed eyaletlerinde bulunan "henüz açılmadı" ve "daha önce açılmış olan şu anda kapalı" durumları arasındaki ayrımı ayrı olarak tanımlamaktadır.

Özellikler
kState_Bound

Uç nokta bağlandı ancak dinlemiyor.

kState_Closed

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

kState_Closing

Uç nokta iki yönlü olarak 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 sınırlanmadı.

kState_ReceiveShutdown

Uç nokta, yarı kapanışa yanıt verdi.

kState_SendShutdown

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

OnAcceptErrorFunct

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

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

endPoint üzerinde bağlantı kabul hatası etkinliklerini işlemesi için OnAcceptError yetki verilmiş ü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ı kurma etkinliği işleme işlevinin türü.

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

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.

OnConnectionClosedFunct

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

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

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

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.

OnConnectionReceivedFunct

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

Alınan olay işleme işlevi bağlantısının türü.

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

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şin TCP bağlantı noktası.

OnDataReceivedFunct

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

Veri alımı olay işleme işlevinin türü.

endPoint ürününde veri alma etkinliklerini işlemesi için OnDataReceived yetki verilmiş üyesine 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 iletimi olay işleme işlevinin türü.

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

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ım kapanışta alım etkinliği işleme işlevinin türü.

endPoint tarihinde bağlantı sonlandırma etkinliklerini işlemesi için OnPeerClose yetki verilmiş ü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 türü değiştirilmiş sinyal işleme işlevi işlevi.

Boşta ve boşta değil durumu değişen TCPEndPoint'in gönderme kanalının etkinliğini işlemek için OnTCPSendIdleChanged yetki verilmiş ü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 yanlış değerini alır.

Herkese açık özellikler

OnAcceptError

OnAcceptErrorFunct OnAcceptError

Uç noktanın bağlantı kabul etkinliği işleme işlevi temsilcisi.

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

Uç noktanın bağlantı kurulumu etkinlik işleme işlevi temsilcisi.

OnConnectionClosed

OnConnectionClosedFunct OnConnectionClosed

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

OnConnectionReceived

OnConnectionReceivedFunct OnConnectionReceived

Uç noktanın bağlantısı, olay işleme işlevi temsilcisini alır.

OnDataReceived

OnDataReceivedFunct OnDataReceived

Uç noktanın mesaj metni alma etkinlik işleme işlevi temsilcisi.

OnDataSent

OnDataSentFunct OnDataSent

Uç noktanın mesaj metni iletimi olay işleme işlevi temsilcisi.

OnPeerClose

OnPeerCloseFunct OnPeerClose

Uç noktanın yarım kapanış alma etkinliği 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 sinyalinin etkinlik işleme işlevi yetkisi.

Bu, 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" durumunda başlatılır. TCP aktarım durumu makinesinin basitleştirilmesine karşılık gelen sonraki durumlara geçin.

Not: kBasisState_Closed durum sıralaması, geçmişe dönük ikili uyumluluk nedenleri için kState_Ready ile eşlenir. Mevcut kState_Closed, daha önce kState_Ready ve kState_Closed eyaletlerinde bulunan "henüz açılmadı" ve "daha önce açılmış olan şu anda kapalı" durumları arasındaki ayrımı ayrı olarak tanımlamaktadır.

Kamu işlevleri

İptal et

void Abort(
  void
)

Uç noktayı iptal ederek kapatın. Başka 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ınmasını onaylamak için bu yöntemi kullanın. len toplam onaylanmamış veriden büyükse operasyonel anlamlar tanımsızdır.

Ayrıntılar
Parametreler
[in] len
kabul edilecek bayt sayısıdır.
Döndürülen Değerler
INET_NO_ERROR
Başarı: resepsiyon onaylandı.
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ı 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
diğer uç noktalarla bağlamayı paylaşma seçeneği
Döndürülen Değerler
INET_NO_ERROR
success: şu adrese bağlı uç nokta:
INET_ERROR_INCORRECT_STATE
uç nokta daha önce bağlanmış
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 eşit 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 alınmış LwIP yığın kilidiyle çağrılmamalıdır.

Kapat

INET_ERROR Close(
  void
)

TCP tam kapanışını başlatın, diğer bir deyişle hem gönderme hem de alma ile biter.

Ayrıntılar
Döndürülen Değerler
INET_NO_ERROR
başarı: adres ve bağlantı noktası ayıklandı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.
other
başka bir sistem veya platform hatası

Bağla

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ı ağ arayüzü göstergesi
Döndürülen Değerler
INET_NO_ERROR
başarılı: msg iletim için sıraya alındı.
INET_ERROR_NOT_IMPLEMENTED
sistem uygulaması tamamlanmamıştır.
INET_ERROR_WRONG_ADDRESS_TYPE
hedef adres ve bağlı arayüz adresi, eşleşen protokol sürümlerine veya adres türüne sahip değil veya hedef adres bir IPv6 bağlantı yerel adresi. intf belirtilmemiş.
other
başka bir sistem veya platform hatası

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

TCP "keep-alive" seçeneğini devre dışı bırakın.

TCPEndPoint::DisableKeepAlive: Devre Dışı Bırakın.

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

Ayrıntılar
Döndürülen Değerler
INET_NO_ERROR
başarı: adres ve bağlantı noktası ayıklandı.
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ı tamamlanmamıştır.
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ç noktada keepalives etkinleştirilmemişse bu yöntem hiçbir şey yapmaz.

DisableReceive

void DisableReceive(
  void
)

Sinyal alımını devre dışı bırak.

Tüm etkinlik işleyicilerini devre dışı bırak. Veri alımını devre dışı bırakan bir uç noktaya gönderilen veriler, alma aralığı dolana kadar onaylanır.

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

TCP "keep-alive" seçeneğini etkinleştirin.

TCPEndPoint::EtkinleştirKeepAlive.

TCP "keep-alive" prob segmentlerini her interval saniyede bir otomatik olarak iletmeye başlayın. Olumsuz bir yanıt alındıktan veya timeoutCount yoklama segmenti gönderildikten sonra olumlu bir yanıt almadan bağlantı otomatik olarak iptal edilir.

Ayrıntılar
Parametreler
[in] interval
kontrol istekleri arasındaki süre (saniye cinsinden).
[in] timeoutCount
zaman aşımından önce gönderilecek prob sayısı.
Döndürülen Değerler
INET_NO_ERROR
başarı: adres ve bağlantı noktası ayıklandı.
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ı tamamlanmamıştır.
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 problarını 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 probları arasındaki aralık (saniye cinsinden). Bu değer ayrıca, gönderilen son veri paketi ile ilk keepalive yoklamasının iletimi arasındaki süreyi de kontrol eder.
timeoutCount
Bağlantının başarısız olduğu kabul edilmeden önceki maksimum onaylanmamış arama sayısı.

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

NoDelay'i etkinleştirin.

TCPEndPoint::EnableNoDelay.

TCP_NODELAY yuva seçeneklerini ayarlayarak TCP'de geçiş arabelleğe alma algoritmasını kapatın.

EnableReceive

void EnableReceive(
  void
)

Sinyal alımını etkinleştir.

Tüm etkinlik işleyicileri etkinleştir. Veri alımını devre dışı bırakan bir uç noktaya gönderilen veriler, alma aralığı dolana kadar onaylanır.

Ücretsiz

void Free(
  void
)

Hataları yoksayarak TCP'nin tam kapanışını başlatın (veya devam edin).

Nesne, ücretsiz havuza döndürülür ve kalan tüm kullanıcı referansları 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ı.
Döndürülen Değerler
INET_NO_ERROR
başarı: adres ve bağlantı noktası ayıklandı.
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ı ayıklayı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ı.
Döndürülen Değerler
INET_NO_ERROR
başarı: adres ve bağlantı noktası ayıklandı.
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ı almaya hazırlayın.

State zaten kState_Listening ise hiçbir işlem gerçekleştirilmez. Aksi takdirde State, kState_Listening olarak ayarlanır ve uç nokta, platformun anlamına göre TCP mesajlarını almaya hazır olur.

Ayrıntılar
Parametreler
[in] backlog
maksimum bağlantı kabul sırası derinliği
Döndürülen Değerler
INET_NO_ERROR
success: 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 alınmış 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
)

Not etkinliği, diğer bir deyişle boşta kalma zamanlayıcısı sıfırlanır.

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

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

Onaylanmayan alma verilerinin uzunluğunu ayıklayın.

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

PendingSendLength

uint32_t PendingSendLength(
  void
)

İlk gönderim için bekleyen verilerin uzunluğunu ayıklayın.

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

PutBackReceivedData

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

Mesaj metnini, alma sırasının başına geri gönderin.

Bu yöntem, yalnızca verilerin onaylanmamış bir bölümünü tekrar alma sırasına almak için veri alma etkinlik işleyicileri tarafından çağrılabilir. Arayan kişi bir veri alma etkinliği işleyicinin kapsamı dışındaysa, data işleyiciye sağlanan Weave::System::PacketBuffer değilse veya data, AckReceive(uint16_t len) yöntemi için önceki bir ç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.
Döndürülen Değerler
INET_NO_ERROR
Başarı: resepsiyon onaylandı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.

Gönder

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

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

Weave::System::PacketBuffer::Free yöntemi, iletimin 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, değilse sıraya alın.
Döndürülen Değerler
INET_NO_ERROR
başarı: adres ve bağlantı noktası ayıklandı.
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 TCP_USER_TIMEOUT yuvası seçeneğini ayarlayın.

TCPEndPoint::SetUserTimeout.

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

Ayrıntılar
Parametreler
[in] userTimeoutMillis
TCP kullanıcı zaman aşımı değeri (milisaniye cinsinden).
Döndürülen Değerler
INET_NO_ERROR
başarı: adres ve bağlantı noktası ayıklandı.
INET_ERROR_NOT_IMPLEMENTED
sistem uygulaması tamamlanmamıştır.
other
başka bir sistem veya platform hatası

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

Değer 0'dan büyük olduğunda, TCP ilgili bağlantıyı zorla kapatmadan önce iletilen verilerin onaylanmamış olarak kalabileceği maksimum süreyi milisaniye cinsinden belirtir. Seçenek değeri 0 olarak belirtilirse TCP, sistem varsayılanını kullanır. Daha fazla ayrıntı 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'nin yarısına yakınını başlatın, diğer bir deyişle göndermeyle biter.

Ayrıntılar
Döndürülen Değerler
INET_NO_ERROR
başarı: adres ve bağlantı noktası ayıklandı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulamadı.
other
başka bir sistem veya platform hatası