Rozhraní Windows Sockets: Oznámení soketu
Tento článek popisuje funkce oznámení třídy socket.Tyto členské funkce jsou funkce zpětného volání, které volá rámci oznámit objekt soketu důležité události.Funkce oznámení jsou:
OnReceive: upozorní tomto soketu je ve vyrovnávací paměti pro něj získat voláním data příjem.
OnSend: tento soket upozorní, že je nyní možné odesílat data voláním Odeslat.
OnAccept: oznámí tento naslouchání soketu, který může přijímat připojení žádosti čekající na vyřízení voláním přijmout.
OnConnect: upozorní tohoto připojení soketu, jeho pokus o připojení dokončeno: možná úspěšně nebo možná chyba.
Při zavření: upozorní na tomto soketu, který je připojen soket zavřel.
[!POZNÁMKA]
Funkce aplikace další oznámení je OnOutOfBandData.Toto oznámení informuje přijímající soketu, odesílání soketu byl "out-of-band" data k odeslání.Out-of-band data je logicky nezávislý kanálu spojené s každou dvojici sockets připojení datového proudu.Kanál-band se obvykle používá k odesílání dat "naléhavé".MFC podporuje out-of-band data.Pokročilým uživatelům práci s třídou CAsyncSocket může být potřeba použít kanálu-band, ale uživatelé třídy CSocket se nedoporučuje používat.Jednodušší způsob je vytvořit druhý soket pro předávání těchto údajů.Další informace o out-of-band data viz specifikace rozhraní Windows Sockets k dispozici Windows SDK.
Pokud je odvozena od třídy CAsyncSocket, musíte změnit funkce upozornění pro síťové události aplikace.Pokud odvození třídy z třídy CSocket, je vaše volba, zda přepsat funkce oznámení úroků.Můžete také použít CSocket , v případě oznámení funguje výchozí žádným způsobem.
Tyto funkce jsou funkce zpětného volání overridable.CAsyncSocketa CSocket zprávy převést na oznámení, ale musí implementovat jak oznámení funguje odpovědět, pokud chcete použít.Funkce oznámení se nazývají v době, kdy vaše soketu je oznámeno události zájmu, jako je přítomnost dat ke čtení.
MFC volání funkce oznámení můžete přizpůsobit chování socket's v době, kdy je upozorněn.Může být například volání přijímání z vašeho OnReceive funkce oznámení, přičemž oznámí data číst, volání přijímání si je přečíst.Tento přístup není nutné, ale je neplatný scénář.Jako alternativu můžete oznamovací funkce sledovat průběh, tisk trasování zpráv atd.
Můžete využít těchto oznámení potlačení upozornění funkce třídy odvozené socket a poskytnutím implementace.
Během operace, například příjem nebo odesílání dat CSocket objekt se stane synchronní.Během synchronní státu jsou určeny pro jiné sockets sdělení ve frontě během aktuální soketu čeká oznámení, které požaduje.(Například během příjem volání, chce soket upozornění čtení.) Soket dokončí prováděnou operaci synchronní a asynchronní opět, můžete začít další sokety příjem oznámení ve frontě.
[!POZNÁMKA]
V CSocket, OnConnect volána funkce oznámení.Pro připojení volání Připojit, která vrátí po dokončení připojení (úspěšně nebo chyba).Způsob zpracování oznámení připojení je podrobností implementace MFC.
Podrobnosti o každé funkci oznámení, viz funkce pod třídou CAsyncSocket v MFC odkaz.Zdrojový kód a informace o vzorcích MFC naleznete MFC vzorků.
Více informací naleznete: