nl:: İnternet:: TCPBitiş Noktası

#include <src/inet/TCPEndPoint.h>

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

özet

Nest Inet Katmanı, sistem buna göre yapılandırıldığı için TCP aktarım uç noktaları (Linux ve BSD türevli sistemlerde SOCK_STREAM soketleri) veya LwIP TCP protokolü kontrol bloklarıyla etkileşime girme yöntemlerini kapsar.

miras

: Den devralır nl :: Inet :: EndPointBasis

Genel 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
}
Sıralama
Temel alınan uç noktanın temel dinamik durumu.
OnAcceptErrorFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Bağlantı türü kabul hatası olay işleme işlevi.
OnConnectCompleteFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Bağlantı kurma olay işleme işlevi türü.
OnConnectionClosedFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Bağlantı kurma olay işleme işlevi türü.
OnConnectionReceivedFunct )(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
Bağlantı türü alınan olay işleme işlevi.
OnDataReceivedFunct )(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
Veri alma olayı işleme işlevi 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ı kapalı alım olay işleme işlevinin türü.
OnTCPSendIdleChangedFunct )(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
TCP SendIdle tipi değişti sinyal işleme işlevi.

Genel özellikler

OnAcceptError
Uç noktanın bağlantı kabul olayı işleme işlevi temsilcisi.
OnConnectComplete
Uç noktanın bağlantı kurma olay işleme işlevi temsilcisi.
OnConnectionClosed
Uç noktanın yakın olay 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 alımı olay işleme işlevi temsilcisi.
OnDataSent
Uç noktanın mesaj metni iletimi olay işleme işlevi temsilcisi.
OnPeerClose
Uç noktanın yarı kapalı alma olayı 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 olay işleme işlevi temsilcisi.
ReceiveEnabled
bool
Uygulamanın veri alıp almadığını gösteren kontrol anahtarı.
State
enum nl::Inet::TCPEndPoint::@10
Temel alınan uç noktanın temel dinamik durumu.

Kamu işlevleri

Abort (void)
void
Diğer bir deyişle, uç noktayı başarısız bir şekilde kapatın, RST paketleri gönderin.
AckReceive (uint16_t len)
Mesaj metninin alındığını onaylayın.
Bind (IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
Uç noktayı bir arabirim IP adresine bağlayın.
Close (void)
Diğer bir deyişle, hem gönderme hem de alma ile biten TCP'yi tamamen kapatın.
Connect ( IPAddress addr, uint16_t port, InterfaceId intf)
Bir TCP bağlantısı başlatın.
DisableKeepAlive (void)
TCP "canlı tut" seçeneğini devre dışı bırakın.
DisableReceive (void)
void
Alımı devre dışı bırakın.
EnableKeepAlive (uint16_t interval, uint16_t timeoutCount)
TCP "canlı tut" seçeneğini etkinleştirin.
EnableNoDelay (void)
EnableNoDelay.
EnableReceive (void)
void
Alımı etkinleştirin.
Free (void)
void
Hataları yok sayarak TCP'yi tamamen kapatı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ı çıkarın.
Listen (uint16_t backlog)
TCP mesajlarını almak için uç noktayı hazırlayın.
LogId (void)
uint16_t
Uç nokta için bir tanımlayıcı edinin.
MarkActive (void)
void
Aktiviteyi not edin, 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 iletimi bekleyen verilerin uzunluğunu çıkarın.
PutBackReceivedData ( Weave::System::PacketBuffer *data)
Mesaj metnini alma kuyruğunun başına geri itin.
Send ( Weave::System::PacketBuffer *data, bool push)
TCP bağlantısında mesaj metni gönderin.
SetConnectTimeout (const uint32_t connTimeoutMsecs)
void
Connect'in başarılı olması veya bir hata döndürmesi için zaman aşımını ayarlayın.
SetUserTimeout (uint32_t userTimeoutMillis)
TCP TCP_USER_TIMEOUT soket seçeneğini ayarlayın.
Shutdown (void)
TCP'yi yarı kapalı başlatın, diğer bir deyişle gönderme ile bitti.

Genel türler

@10

 @10

Temel alınan uç noktanın temel dinamik durumu.

Nesneler "hazır" durumda başlatılır, TCP aktarım durumu makinesinin durumlarının basitleştirilmesine karşılık gelen sonraki durumlara ilerler.

Not: kBasisState_Closed devlet numaralandırma eşleştirilir kState_Ready tarihsel ikili uyumluluk nedenlerle. Varolan kState_Closed ayrı daha önce varolan "henüz açılmamış" ve "daha önce şimdi kapalı açılan" arasındaki ayrımı belirlemek için var kState_Ready ve kState_Closed devletler.

Özellikleri
kState_Bound

Uç nokta bağlı, ancak dinlemiyor.

kState_Closed

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

kState_Closing

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

kState_Connected

Uç nokta bağlı, tx/rx için hazır.

kState_Connecting

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

kState_Listening

Uç nokta alma bağlantıları.

kState_Ready

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

kState_ReceiveShutdown

Endpoint yarı kapanışa yanıt verdi.

kState_SendShutdown

Endpoint yarı kapanışını başlattı.

OnAcceptErrorFunct

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

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

Bu türde bir işlev sağlayın OnAcceptError üzerinde işlem bağlantısı kabul hatası olaylara temsilci üyesi endPoint . err argüman hata türü hakkında spesifik ayrıntı sağlar.

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

OnConnectCompleteFunct

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

Bağlantı kurma olay işleme işlevi türü.

Bu türde bir işlev sağlayın OnConnectComplete üzerinde bağlantı kurulması olaylarını işlemek için temsilci üyesi endPoint . err argüman hatalarından başarılı bağlantıları ayırır.

Ayrıntılar
parametreler
[in] endPoint
Olayla ilişkili TCP uç noktası.
[in] err
INET_NO_ERROR başarısı başka başka kod eğer.

OnConnectionClosedFunct

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

Bağlantı kurma olay işleme işlevi türü.

Bu türde bir işlev sağlayın OnConnectionClosed üzerinde işlem bağlantı sonlandırma olaylara temsilci üyesi endPoint . err argüman hatalarından başarılı uçları ayırır.

Ayrıntılar
parametreler
[in] endPoint
Olayla ilişkili TCP uç noktası.
[in] err
INET_NO_ERROR başarısı başka başka kod eğer.

OnConnectionAlınanİşlev

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

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

Bu türde bir işlev sağlayın OnConnectionReceived üzerinde işlem bağlantısı resepsiyon olaylara temsilci üyesi listeningEndPoint . Yeni alınan son nokta conEndPoint IP adresi bulunur peerAddr ve TCP portu peerPort .

Ayrıntılar
parametreler
[in] listeningEndPoint
Dinleyen 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 alma olayı işleme işlevinin türü.

Bu türde bir işlev sağlayın OnDataReceived üzerinde işlem veri alış olaylara temsilci üyesi endPoint data alınan mesaj metindir.

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

Bir veri alımı olay işleyicisi kullanarak işlenmiş verileri kabul etmeli AckReceive yöntemi. Free sürece veri tamponunu yöntem de çağrılması gerekir PutBackReceivedData yerine kullanılır.

OnDataSentFunct

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

Veri iletimi olay işleme işlevinin türü.

Bu tür bir işlev sağlamak OnDataSent proses veri iletim olayları için temsilci elemanının endPoint len temel ağ yığını ile göndermek için uygun olan bir TCP iletim penceresi ilave mesaj metni uzunluğudur.

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

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

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

Bu türde bir işlev sağlayın OnPeerClose üzerinde bağlantı sonlandırma olayları işlemek için temsilci üyesi endPoint .

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

OnTCPSendIdleChangedFunct

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

TCP SendIdle tipi değişti sinyal işleme işlevi.

Bu türde bir işlev sağlayın OnTCPSendIdleChanged ait gönderme kanalının olayı işlemek için temsilci üyesi TCPEndPoint boşta ve atıl olmakla olmamak arasındaki durumunu değiştirir.

Ayrıntılar
parametreler
[in] endPoint
Olayla ilişkili TCP uç noktası.
[in] isIdle
TCP uç noktasının gönderme kanalı Boştaysa doğru, aksi takdirde yanlış.

Genel özellikler

OnAcceptError

OnAcceptErrorFunct OnAcceptError

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

OnConnectTamamlandı

OnConnectCompleteFunct OnConnectComplete

Uç noktanın bağlantı kurma olay işleme işlevi temsilcisi.

OnConnectionKapalı

OnConnectionClosedFunct OnConnectionClosed

Uç noktanın yakın olay işleme işlevi temsilcisi.

Bağlantı Alındığında

OnConnectionReceivedFunct OnConnectionReceived

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

OnDataAlındı

OnDataReceivedFunct OnDataReceived

Uç noktanın mesaj metni alımı olay 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ı kapalı alma olayı 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 olay işleme işlevi temsilcisi.

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

Alma Etkin

bool ReceiveEnabled

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

Durum

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

Temel alınan uç noktanın temel dinamik durumu.

Nesneler "hazır" durumda başlatılır, TCP aktarım durumu makinesinin durumlarının basitleştirilmesine karşılık gelen sonraki durumlara ilerler.

Not: kBasisState_Closed devlet numaralandırma eşleştirilir kState_Ready tarihsel ikili uyumluluk nedenlerle. Varolan kState_Closed ayrı daha önce varolan "henüz açılmamış" ve "daha önce şimdi kapalı açılan" arasındaki ayrımı belirlemek için var kState_Ready ve kState_Closed devletler.

Kamu işlevleri

iptal

void Abort(
  void
)

Diğer bir deyişle, uç noktayı başarısız bir şekilde kapatın, RST paketleri gönderin.

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

Mesaj 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. Eğer çalışma semantik tanımlanmamıştır len toplam üstün onaylanmamış alınan verilerin daha büyüktür.

Ayrıntılar
parametreler
[in] len
onaylanacak bayt sayısı.
Dönüş Değerleri
INET_NO_ERROR
başarı: resepsiyon kabul edildi.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulmadı.
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 arabirim IP adresine bağlayın.

Uç noktayı belirtilen ağ arabirimi IP adresine bağlar.

Ayrıntılar
parametreler
[in] addrType
IP adresinin protokol versiyonu
[in] addr
IP adresi (bir 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
Dönüş Değerleri
INET_NO_ERROR
başarı: 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 eşleşmiyor IPVer .
INET_ERROR_WRONG_ADDRESS_TYPE
addrType olan kIPAddressType_Any veya tipi addr eşit değildir addrType .
other
başka bir sistem veya platform hatası

LwIP'de, bu yöntem, önceden alınmış LwIP yığın kilidi ile çağrılmamalıdır.

Kapat

INET_ERROR Close(
  void
)

Diğer bir deyişle, hem gönderme hem de alma ile biten TCP'yi tamamen kapatın.

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

Bağlan

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

Bir 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ğ arabirimi göstergesi
Dönüş Değerleri
INET_NO_ERROR
başarı: 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 adresi eşleştirme protokol sürümlerini veya adres türü yoktur, ya da hedef adresi IPv6 bağlantı yerel adresi ve intf belirtilmemiştir.
other
başka bir sistem veya platform hatası

Devre Dışı BırakCanlı Tut

INET_ERROR DisableKeepAlive(
  void
)

TCP "canlı tut" seçeneğini devre dışı bırakın.

TCPEndPoint :: DisableKeepAlive .

İlişkili TCP bağlantısında TCP canlı tutma araştırmalarını devre dışı bırakın.

Ayrıntılar
Dönüş Değerleri
INET_NO_ERROR
başarı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulmadı.
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: nokta bağlantılı durumlardan birinde olduğunda, bu yöntem, yalnızca çağrılabilir. Uç noktada canlı tutma etkinleştirilmemişse bu yöntem hiçbir şey yapmaz.

Devre Dışı Al

void DisableReceive(
  void
)

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

Tüm olay işleyicilerini devre dışı bırakın. Alımı devre dışı bırakan bir uç noktaya gönderilen veriler, alma penceresi tükenene kadar onaylanacaktır.

Canlı Tutmayı Etkinleştir

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

TCP "canlı tut" seçeneğini etkinleştirin.

TCPEndPoint :: EnableKeepAlive .

Her TCP ileten "canlı tutma" prob segmentler otomatik başlat interval saniye. Bağlantı olumsuz bir yanıt alındıktan sonra ya da gönderdikten sonra otomatik olarak duracaktır timeoutCount olumlu yanıt almadan prob segmentleri.

Ayrıntılar
parametreler
[in] interval
araştırma istekleri arasındaki saniye cinsinden süre.
[in] timeoutCount
zaman aşımından önce gönderilecek prob sayısı.
Dönüş Değerleri
INET_NO_ERROR
başarı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulmadı.
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 canlı tutma araştırmalarını etkinleştirin.

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

Ayrıntılar
parametreler
interval
Canlı tutma araştırmaları arasındaki aralık (saniye cinsinden). Bu değer ayrıca gönderilen son veri paketi ile ilk canlı tutma araştırmasının iletimi arasındaki süreyi de kontrol eder.
timeoutCount
Bağlantıdan önce onaylanmayan maksimum araştırma sayısı başarısız olarak kabul edilecektir.

EtkinleştirNoDelay

INET_ERROR EnableNoDelay(
  void
)

EnableNoDelay.

TCPEndPoint :: EnableNoDelay .

TCP_NODELAY yuva seçeneklerini ayarlayarak TCP'deki arabelleğe alma algoritmasını kapatın.

EtkinleştirAl

void EnableReceive(
  void
)

Alımı etkinleştirin.

Tüm olay işleyicilerini etkinleştirin. Alımı devre dışı bırakan bir uç noktaya gönderilen veriler, alma penceresi tükenene kadar onaylanacaktır.

Bedava

void Free(
  void
)

Hataları yok sayarak TCP'yi tamamen kapatı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.

Kullanmayın NULL ya argüman için işaretçi değerlerini.

Ayrıntılar
parametreler
[out] retAddr
Yerel uç noktanın IP adresi.
[out] retPort
Yerel uç noktanın TCP bağlantı noktası.
Dönüş Değerleri
INET_NO_ERROR
başarı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulmadı.
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.

Kullanmayın NULL ya argüman için işaretçi değerlerini.

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

Bağlandı

bool IsConnected(
  void
) const 

TCP bağlantısının kurulup kurulmadığını çıkarın.

Dinle

INET_ERROR Listen(
  uint16_t backlog
)

TCP mesajlarını almak için uç noktayı hazırlayın.

Eğer State zaten kState_Listening , o zaman hiçbir işlemi yapılırken, aksi State olarak ayarlanır kState_Listening ve uç nokta platformunun semantik göre, alınan TCP mesajlara hazırlanır.

Ayrıntılar
parametreler
[in] backlog
maksimum bağlantı derinliği kabul kuyruğu
Dönüş Değerleri
INET_NO_ERROR
başarı: uç nokta mesajları almaya hazır.
INET_ERROR_INCORRECT_STATE
uç nokta zaten dinliyor.

Bazı platformlarda backlog argüman kullanılmaz (kuyruğun derinliği sabittir; bir bağlantı bir anda kabul edilebilir).

LwIP sistemlerinde, bu yöntem önceden alınmış LwIP yığın kilidi ile ç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.

İşaretleAktif

void MarkActive(
  void
)

Aktiviteyi not edin, 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.

BeklemedeAlma Uzunluğu

uint32_t PendingReceiveLength(
  void
)

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

Ayrıntılar
İadeler
Henüz ile kabul edilmemiştir kuyruğunu almak bayt sayısı AckReceive(uint16_t len) .

BeklemedeSendLength

uint32_t PendingSendLength(
  void
)

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

Ayrıntılar
İadeler
İletim kuyruğundaki iletilmeyen bayt sayısı.

PutBackAlınan Veriler

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

Mesaj metnini alma kuyruğunun başına geri itin.

Bu yöntem, yalnızca veri alma olay işleyicileri tarafından, onaylanmayan bir veri bölümünü alma kuyruğuna geri koymak için çağrılabilir. Arayan veri alımı olay işleyicisi kapsamı dışında ise operasyonel semantik, tanımsız olan data değil Weave::System::PacketBuffer işleyicisi sağlanan veya data a tarafından kabul bayt sonra kalan onaylanmamış kısmını içermiyor önce çağrı AckReceive(uint16_t len) yöntemi.

Ayrıntılar
parametreler
[out] data
İtilecek mesaj metni.
Dönüş Değerleri
INET_NO_ERROR
başarı: resepsiyon kabul edildi.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulmadı.

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 çağrıldığında data bakılmaksızın iletim başarılı veya başarısız olup olmadığı argümanı.

Ayrıntılar
parametreler
[out] data
Gönderilecek mesaj metni.
[out] push
Eğer true , o zaman başka türlü kuyruk hemen gönderin.
Dönüş Değerleri
INET_NO_ERROR
başarı: adres ve bağlantı noktası çıkarıldı.
INET_ERROR_INCORRECT_STATE
TCP bağlantısı kurulmadı.

Bağlantı Zaman Aşımı Ayarla

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Connect'in başarılı olması veya bir 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 soket 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 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 ayrıntı için RFC 5482'ye bakın.

Ayrıntılar
parametreler
[in] userTimeoutMillis
Milisaniye cinsinden Tcp kullanıcı zaman aşımı değeri.
Dönüş Değerleri
INET_NO_ERROR
başarı: 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ı soketi seçeneğini ayarlayın.

Değer 0'dan büyük olduğunda, TCP ilgili 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 ayrıntı için RFC 5482'ye bakın.

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

Kapat

INET_ERROR Shutdown(
  void
)

TCP'yi yarı kapalı başlatın, diğer bir deyişle gönderme ile bitti.

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