Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podsystem jądra Winsock (WSK) może asynchronicznie powiadamiać aplikację WSK, gdy wystąpią pewne zdarzenia gniazda, takie jak w przypadku odebrania nowych danych w gniazdie lub odłączenia gniazda. Aby aplikacja WSK była asynchronicznie powiadamiana o zdarzeniach gniazd, aplikacja WSK musi zaimplementować odpowiednie funkcje wywołania zwrotnego zdarzeń i włączyć te funkcje wywołania zwrotnego zdarzeń na tworzonych gniazdach.
Uwaga Aplikacja WSK nie jest wymagana do implementowania ani używania funkcji zwrotnych zdarzeń. Aplikacja WSK może wykonywać większość operacji gniazda WSK, wywołując odpowiednie funkcje gniazda WSK. Jedyną funkcją WSK, która wymaga używania funkcji wywołania zwrotnego zdarzeń, jest tryb warunkowego akceptowania na gniazdach nasłuchiwania. Aby uzyskać więcej informacji na temat zalet i wad korzystania z funkcji WSK w porównaniu z używaniem funkcji wywołania zwrotnego zdarzeń, zobacz Używanie funkcji jądra Winsock kontra funkcji wywołania zwrotnego zdarzeń.
Każda kategoria gniazd WSK obsługuje inny zestaw zdarzeń gniazda.
Gniazda podstawowe
Gniazda podstawowe nie obsługują żadnych zdarzeń związanych z gniazdami.
Gniazda nasłuchiwania
| Zdarzenie | Funkcja wywołania zwrotnego zdarzeń |
|---|---|
Zaakceptowano połączenie przychodzące. |
|
Przybyło przychodzące żądanie połączenia. |
|
Żądanie połączenia przychodzącego zostało porzucone. |
* Dotyczy tylko gniazd nasłuchiwania z włączonym trybem akceptowania warunkowego. Aby uzyskać więcej informacji na temat korzystania z trybu akceptowania warunkowego z gniazdami nasłuchiwania, zobacz Nasłuchiwanie i akceptowanie połączeń przychodzących.
Gniazda datagramów
| Zdarzenie | Funkcja wywołania zwrotnego zdarzeń |
|---|---|
Odebrano co najmniej jeden nowy datagram. |
Gniazda zorientowane na połączenie
| Zdarzenie | Funkcja wywołania zwrotnego zdarzeń |
|---|---|
Odebrano nowe dane. |
|
Gniazdo zostało odłączone. |
|
Idealny rozmiar listy prac wysyłania został zmieniony. |
Gdy aplikacja WSK tworzy gniazdo, funkcje wywołania zwrotnego zdarzeń gniazda są domyślnie wyłączone. Aplikacja WSK musi włączyć funkcje zwrotne zdarzeń gniazda, aby podsystem WSK mógł je wywołać w przypadku wystąpienia zdarzeń gniazda. Aby uzyskać więcej informacji na temat włączania i wyłączania funkcji wywołania zwrotnego zdarzeń gniazda, zobacz Włączanie i wyłączanie funkcji wywołania zwrotnego zdarzeń.
Jeśli aplikacja WSK rejestruje interfejs rozszerzenia dla gniazda, interfejs rozszerzenia może obsługiwać dodatkowe zdarzenia. Aby uzyskać więcej informacji na temat rejestrowania interfejsu rozszerzenia dla gniazda, zobacz Rejestrowanie interfejsu rozszerzenia.
Podsystem WSK może również powiadamiać aplikację WSK o zdarzeniach, które nie są specyficzne dla określonego gniazda. Aby aplikacja WSK mogła otrzymywać powiadomienia o tych zdarzeniach, aplikacja WSK musi zaimplementować funkcję wywołania zwrotnego zdarzeń WskClientEvent . Obecnie nie zdefiniowano żadnych zdarzeń, które nie są specyficzne dla określonego gniazda. Funkcja wywołania zwrotnego zdarzenia WskClientEvent aplikacji WSK jest zawsze włączona i nie można jej wyłączyć.
Funkcje wywołania zwrotnego zdarzeń aplikacji WSK nie mogą czekać na ukończenie innych żądań WSK w kontekście uzupełniania WSK lub funkcji wywołania zwrotnego zdarzeń. Wywołanie zwrotne może zainicjować inne żądania WSK, przy założeniu, że nie spędza zbyt dużo czasu na poziomie DISPATCH_LEVEL lub nie wyczerpie stosu jądra, ale nie może czekać na ich ukończenie, nawet gdy wywołanie zwrotne jest wywoływane przy IRQL = PASSIVE_LEVEL.