CAsyncSocket::Receive

wirtualne int Odbierania ( void * lpBuf, int nBufLen, int nFlags = 0 );

Wartość zwracany

Jeśli błąd nie wystąpi, odbierania zwraca liczbę bajtów odebranych. Jeśli połączenie zostało zamknięte, zwraca 0. W przeciwnym wypadku zwracana jest wartość SOCKET_ERROR , a kod błędu mogą być pobierane przez wywołanie GetLastError. Następujące błędy stosuje się do tej funkcji członek:

Parametry

lpBuf

Bufor danych przychodzących.

nBufLen

Długość lpBuf w bajtach.

nFlags

Określa sposób, w której połączenie jest nawiązywane. Semantyka tej funkcji są określane przez opcje gniazda i parametr nFlags . Ten ostatni jest wykonane przez łączenie dowolnego z następujących wartości z operatorem C++ lub:

Uwagi

Wywołanie tej funkcji Państwa do odbierania danych od gniazda. Ta funkcja służy do połączonego strumienia lub datagram gniazd i służy do czytania przychodzących danych.

Dla gniazd typu SOCK_STREAMjak najwięcej informacji jest obecnie dostępny do rozmiaru bufor jest zwracany. Jeśli gniazdo skonfigurowano do odbioru śródwierszowej poza pasmem danych (opcja gniazdo SO_OOBINLINE) i poza pasmem danych jest nieprzeczytane, tylko poza pasmem dane będą zwracane. Aplikacja może używać opcjiSIOCATMARK IOCtllub OnOutOfBandData ustalenie, czy wszystkie dane więcej poza pasmem pozostaje do odczytu .

Dla datagramu gniazd dane ekstrahuje się z pierwszym datagram został umieszczony w kolejce do rozmiaru bufor. Jeśli datagram jest większe niż bufor, bufor jest wypełniona w pierwszej części datagram, nadmiar dane zostaną utracone, a Odbierz zwraca wartość SOCKET_ERROR z kodem błędu, ustawiony na WSAEMSGSIZE. Jeśli nie dane przychodzące jest dostępna w gniazda, zwracana jest wartość o SOCKET_ERROR z kodem błędu, ustawiony na WSAEWOULDBLOCK. Funkcja wywołania zwrotnego OnReceive może być używana do ustalenia, kiedy nadejdzie więcej danych.

Gniazdo jest typu SOCK_STREAM i strona zdalna została łagodnego zamknięcia połączenia, odbierania zakończy się bezpośrednio z 0 bajtów odebranych. Jeśli połączenia zostały zresetowane, odbierania nie powiedzie się z powodu błędu WSAECONNRESET.

Omówienie CAsyncSocket |nbsp; Klasa członków | Wykres hierarchii

Zobacz też CAsyncSocket::AsyncSelect, CAsyncSocket::Create, CAsyncSocket::ReceiveFrom, CAsyncSocket::Send

Index