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