Udostępnij za pośrednictwem


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 CAsyncSocketklasy , 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 z CAsyncSocket modelu. CSocket dziedziczy wiele funkcji członkowskich z CAsyncSocket tego hermetyzowanego interfejsu API windows Sockets. Trzeba będzie użyć niektórych z tych funkcji i ogólnie zrozumieć programowanie gniazd. Jednak CSocket zarządza wieloma aspektami komunikacji, które trzeba by zrobić samodzielnie przy użyciu nieprzetworzonego interfejsu API lub klasy CAsyncSocket. Co najważniejsze, CSocket zapewnia blokowanie (z przetwarzaniem w tle komunikatów systemu Windows), co jest niezbędne do synchronicznej operacji CArchive.

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:

Zobacz też

Gniazda systemu Windows