CAsyncSocket::Accept
Wywołanie tej funkcji Członkowskich do akceptowania połączeń na gnieździe.
virtual BOOL Accept(
CAsyncSocket& rConnectedSocket,
SOCKADDR* lpSockAddr = NULL,
int* lpSockAddrLen = NULL
);
Parametry
rConnectedSocket
Odniesieniem identyfikującym nowe gniazdo, który jest dostępny dla połączenia.lpSockAddr
Wskaźnik do SOCKADDR strukturę, która odbierze adres łączenie socket znany w sieci.Dokładny format lpSockAddr argument określana jest rodzina adresów ustanowione podczas tworzenia gniazda.Jeśli lpSockAddr lub lpSockAddrLen są równe NULL, zwracana jest żadnych informacji dotyczących zdalnego adresu gniazda zaakceptowane.lpSockAddrLen
Wskaźnik długość adresu w lpSockAddr w bajtach.lpSockAddrLen Jest parametr wynik wartości: początkowo powinien zawierać ilość miejsca wskazywanego przez lpSockAddr; na zwrot będzie zawierał rzeczywista długość (w bajtach) zwrócony adres.
Wartość zwracana
Niezerowa, jeśli funkcja jest pomyślne; w przeciwnym razie 0 i kod błędu mogą być pobierane przez wywołanie GetLastError.Do tej funkcji Członkowskich stosuje się następujące błędy:
WSANOTINITIALISED pomyślnie AfxSocketInit musi wystąpić przed użyciem tego interfejsu API.
WSAENETDOWN implementacja Windows Sockets wykrył, że podsystem sieci nie powiodło się.
WSAEFAULTlpSockAddrLen argument jest za mały (mniej niż rozmiar SOCKADDR struktury).
WSAEINPROGRESS trwa blokowania wywołanie Windows Sockets.
WSAEINVAL Listennie może być wywoływana przed zaakceptować.
WSAEMFILE kolejki jest pusty po wejściu do akceptowania i deskryptory nie są dostępne.
WSAENOBUFSBrak miejsca w buforze jest dostępna.
WSAENOTSOCK deskryptora nie jest gniazdem.
WSAEOPNOTSUPP odwołanie gniazdo nie jest typu, który obsługuje zorientowany na połączenie usługę.
WSAEWOULDBLOCK gniazdo jest oznaczony jako nieblokujących i brak połączeń są obecne przyjmowane.
Uwagi
Ta procedura wyodrębnia pierwszego połączenia w kolejce oczekujących połączeń, tworzy nowe gniazdo z tych samych właściwości jako tego gniazda i dołącza go do rConnectedSocket.Jeśli brak połączeń oczekujących w kolejce, Zaakceptuj zwraca zero i GetLastError zwraca błąd.Zaakceptowane gniazda (rConnectedSocket) nie można zaakceptować więcej połączeń.Gniazda oryginalny pozostaje otwarte i nasłuchiwania.
Argument lpSockAddr jest parametr wynik, który jest wypełniane adres nawiązywania połączenia z gniazdem warstwy komunikacji jest znana.Zaakceptuj jest używana z typami podstawie połączenia gniazda takich jak SOCK_STREAM.
Wymagania
Nagłówek: afxsock.h