Windows Sockets w MFC
Uwaga
MFC obsługuje windows Sockets 1, ale nie obsługuje windows Sockets 2. Windows Sockets 2 po raz pierwszy dostarczany z systemem Windows 98 i jest wersją dołączoną do systemu Windows 2000.
MFC dostarcza dwa modele do pisania programów komunikacyjnych w sieci za pomocą gniazd systemu Windows, wbudowanych w dwie klasy MFC. W tym artykule opisano te modele i bardziej szczegółowe informacje dotyczące obsługi gniazd MFC. "Gniazdo" to punkt końcowy komunikacji: obiekt, za pośrednictwem którego aplikacja komunikuje się z innymi aplikacjami Windows Sockets w sieci.
Aby uzyskać informacje na temat gniazd systemu Windows, w tym wyjaśnienie koncepcji gniazda, zobacz Windows Sockets: Background (Gniazda systemu Windows: tło).
Modele programowania gniazd
Dwa modele programowania MFC Windows Sockets są obsługiwane przez następujące klasy:
CAsyncSocket
Ta klasa hermetyzuje interfejs API gniazd systemu Windows. CAsyncSocket jest przeznaczony dla programistów, którzy znają programowanie sieci i chcą elastyczności programowania bezpośrednio do interfejsu API gniazd, ale także chcą wygody funkcji wywołania zwrotnego na potrzeby powiadomień o zdarzeniach sieciowych. Poza pakowaniem gniazd w formie obiektowej do użycia w języku C++, jedyną dodatkową abstrakcją tej klasy jest konwertowanie niektórych komunikatów systemu Windows związanych z gniazdami na wywołania zwrotne. Aby uzyskać więcej informacji, zobacz Windows Sockets: Socket Notifications (Gniazda systemu Windows: powiadomienia o gniazdach).
CSocket
Ta klasa, pochodząca z
CAsyncSocket
klasy , dostarcza abstrakcję wyższego poziomu do pracy z gniazdami za pośrednictwem obiektu MFC CArchive . Użycie gniazda z archiwum znacznie przypomina użycie protokołu serializacji plików MFC. Ułatwia to korzystanie zCAsyncSocket
modelu. CSocket dziedziczy wiele funkcji członkowskich zCAsyncSocket
tego hermetyzowanego interfejsu API windows Sockets. Trzeba będzie użyć niektórych z tych funkcji i ogólnie zrozumieć programowanie gniazd. JednakCSocket
zarządza wieloma aspektami komunikacji, które trzeba by zrobić samodzielnie przy użyciu nieprzetworzonego interfejsu API lub klasyCAsyncSocket
. Co najważniejsze,CSocket
zapewnia blokowanie (z przetwarzaniem w tle komunikatów systemu Windows), co jest niezbędne do synchronicznej operacjiCArchive
.
Tworzenie i używanie CSocket
obiektów i CAsyncSocket
jest opisane w temacie Windows Sockets: Using Sockets with Archives and Windows Sockets: Using Class CAsyncSocket (Używanie gniazd z archiwami i gniazdami systemu Windows: używanie klasy CAsyncSocket).
Biblioteki DLL gniazd systemu Windows
Systemy operacyjne Microsoft Windows udostępniają biblioteki dynamicznego linku Windows Sockets (DLL). Język Visual C++ dostarcza odpowiednie pliki nagłówkowe i biblioteki oraz specyfikację gniazd systemu Windows.
Aby uzyskać więcej informacji na temat gniazd systemu Windows, zobacz: