Udostępnij za pośrednictwem


Windows Sockets: wyprowadzanie z klas gniazd

W tym artykule opisano niektóre funkcje, które mogą uzyskać za wynikające z jednej z klas socket własne klasy.

Własne klasy socket można czerpać z jednej CAsyncSocket lub CSocketFile, CSocket do dodawania własnej funkcji.W szczególności tych klas podać liczbę funkcji wirtualnych elementów członkowskich, które można zastąpić.Funkcje te obejmują OnReceive, OnSend, OnAccept, OnConnect, i OnClose.Funkcje można zastąpić w klasie pochodnej gniazdo do skorzystania z powiadomienia, które zapewniają one wystąpieniu zdarzeń w sieci.Ramach wywołania tych funkcji wywołania zwrotnego powiadomienia powiadomi użytkownika o gniazdo ważnych zdarzeniach, takich jak otrzymanie danych, że można rozpocząć czytanie.Aby uzyskać więcej informacji o funkcji powiadomień, zobacz Windows Sockets: gniazdo powiadomienia o.

Ponadto klasa CSocket dostarcza OnMessagePending funkcji składowej (zaawansowany NotOverridable).MFC wywołuje tę funkcję, podczas gdy gniazdo jest pompowania komunikatów systemu Windows.Można zastąpić OnMessagePending aby wyszukać określone wiadomości z systemu Windows i odpowiedzieć na.

Domyślna wersja OnMessagePending dostarczonych w klasie CSocket sprawdza, czy dla kolejki wiadomość WM_PAINT wiadomości podczas oczekiwania na wywołanie blokującego do ukończenia.Wywołuje wiadomości programu paint do poprawienia jakości wyświetlania.Oprócz robienie czegoś przydatne, to ilustruje jeden sposób może zastąpić funkcję samodzielnie.Inny przykład, należy rozważyć użycie OnMessagePending dla następującego zadania.Załóżmy, że wyświetlić niemodalny okno dialogowe podczas oczekiwania na transakcjach sieciowych do wykonania.Okno dialogowe zawiera przycisk Anuluj, który użytkownik może użyć do anulowania transakcji blokowania, które trwa zbyt długo.Twój OnMessagePending override może być pompa wiadomości związanych z tego Niemodalne okna dialogowego.

W swojej OnMessagePending zastąpić, albo zwrotu TRUE lub powrót z wywołania do wersji klasa bazowa OnMessagePending.Wywołanie wersji klas bazowych, jeżeli wykonuje pracę, która nadal ma wykonaną.

Aby uzyskać więcej informacji, zobacz:

Zobacz też

Koncepcje

Windows Sockets w MFC