Klasa CSocket pochodzi z CAsyncSocket i dziedziczy jej hermetyzacji Windows Sockets API. Obiekt CSocket reprezentuje wyższy poziom poboru Windows Sockets API niż obiekt CAsyncSocket . CSocket współpracuje z klasy CSocketFile i CArchive do zarządzania ich wysyłanie i odbieranie danych.
Obiekt CSocket umożliwia blokowanie, co jest niezbędne do pracy synchronicznej CArchive. Blokowanie funkcje, takie jak odbierania, Wyślij, ReceiveFrom, SendToi Accept (wszystkie dziedziczone z CAsyncSocket), nie zwracają błąd WSAEWOULDBLOCK w CSocket. Zamiast tego te funkcje poczekaj, aż operacja zakończy się. Ponadto oryginalne wezwanie wygaśnie z powodu błędu WSAEINTR Jeśli CancelBlockingCall jest wywołana, gdy jedna z tych funkcji jest blokowanie.
Aby użyć obiektu CSocket , wywołanie konstruktora, a następnie wywołaj Utwórz , aby utworzyć podstawowej dojście gniazda (typ gniazda). Domyślne parametry Utwórz utworzyć gniazda strumienia, ale jeśli nie używasz gniazdo z obiektem CArchive , można określić parametr zamiast tego utworzyć gniazdo datagramu lub powiązać określonego portu utworzyć gniazda serwera. Podłącz do gniazda klienta przy użyciu połączenia klienta i Zaakceptuj po stronie serwera. Następnie Utwórz obiekt CSocketFile i skojarzyć go z obiektu CSocket w konstruktorze CSocketFile . Następnie Utwórz obiekt CArchive do wysyłania i do odbierania danych (w razie potrzeby), a następnie skojarzyć je z obiektu CSocketFile w konstruktorze CArchive . Po zakończeniu łączność zniszczenie obiektów CArchive, CSocketFilei CSocket . Typ danych gniazda jest opisany w artykule Windows Sockets: tło w Visual C++ Programmer's Guide.
For more information, see Windows Sockets in MFC, Windows Sockets: Using Sockets with Archives, Windows Sockets: How Sockets with Archives Work, Windows Sockets: Sequence of Operations, Windows Sockets: Example of Sockets Using Archives, and related articles in Visual C++ Programmer’s Guide. Also see Overview of Windows Sockets 2 and Windows Sockets Programming Considerations in the Win32 SDK documentation.
# include lt;afxsock.h>
Czło&nkowie klasy |nbsp; Klasa podstawowa | Wykres hierarchii
Próbki Próbki MFC CHATSRVR
Zobacz też CAsyncSocket, CSocketFile