Sdílet prostřednictvím


CAsyncSocket::Accept

Volání této funkce členů přijmout připojení na soketu.

virtual BOOL Accept( 
   CAsyncSocket& rConnectedSocket, 
   SOCKADDR* lpSockAddr = NULL, 
   int* lpSockAddrLen = NULL  
);

Parametry

  • rConnectedSocket
    Identifikační soketů pro připojení je k dispozici.

  • lpSockAddr
    Ukazatel SOCKADDR struktury, která obdrží adresu připojení soketu známa v síti.Přesný formát lpSockAddr argument je určena rodině adres při vytvoření soketu.Pokud lpSockAddr a lpSockAddrLen se rovná NULL, je vrácena žádné informace o vzdálené adresy soketu přijaté.

  • lpSockAddrLen
    Ukazatel na délku adresy v lpSockAddr v bajtech. lpSockAddrLen Je parametr hodnota výsledku: zpočátku by měl obsahovat množství místa, na kterou odkazuje lpSockAddr ; Při návratu bude obsahovat adresu vrácena skutečná délka (v bajtech).

Vrácená hodnota

Nenulová hodnota, pokud je tato funkce úspěšná. jinak 0 a kód chyby může být načten voláním GetLastError.Tato funkce člena vztahuje následující chyby:

  • WSANOTINITIALISED úspěšné AfxSocketInit musí dojít před použitím tohoto rozhraní API.

  • WSAENETDOWN implementace rozhraní Windows Sockets zjistil, že selhání síťového podsystému.

  • WSAEFAULT lpSockAddrLen argument je příliš malá (méně než velikost SOCKADDR struktury).

  • WSAEINPROGRESS Probíhá blokování volání rozhraní Windows Sockets.

  • WSAEINVAL   Listennebyl vyvolaný předchozího přijmout.

  • WSAEMFILE fronta je prázdná při vstupu přijmout a nejsou k dispozici žádné popisovače.

  • WSAENOBUFSVyrovnávací paměť není k dispozici.

  • WSAENOTSOCK popisovač není soket.

  • WSAEOPNOTSUPP odkazované soket není typ, který podporuje služba orientovaná na připojení.

  • WSAEWOULDBLOCK soketu je označen jako neblokový a žádná připojení nejsou přítomny přijmout.

Poznámky

Tato rutina extrahuje první připojení do fronty čekajících připojení, vytvoří nové soketu se stejnými vlastnostmi jako tento socket a připojí jej k rConnectedSocket .Pokud neexistují žádné čekající připojení ve frontě, přijmout vrátí nulu a GetLastError vrátí chybu.Přijaté soketu (rConnectedSocket) nelze přijmout další připojení.Původní soketu zůstává otevřená a naslouchající.

Argument lpSockAddr je výsledek parametr, který je vyplněna adresa připojení soketu známa vrstvy komunikace.Přijmout se používá jako s typy na základě připojení soketu SOCK_STREAM.

Požadavky

Záhlaví: afxsock.h

Viz také

Referenční dokumentace

Třída CAsyncSocket

Graf hierarchie

CAsyncSocket::Bind

CAsyncSocket::Connect

CAsyncSocket::Listen

CAsyncSocket::Create

WSAAsyncSelect