Psaní internetových klientských aplikací pomocí tříd WinInet knihovny MFC
Základem každé internetové klientské aplikace je internetová relace. MFC implementuje internetové relace jako objekty třídy CInternetSession. Pomocí této třídy můžete vytvořit jednu internetovou relaci nebo několik souběžných relací.
Ke komunikaci se serverem potřebujete objekt CInternet Připojení ion a také CInternetSession
objekt . Můžete vytvořit CInternetConnection
pomocí CInternetSession::GetFtp Připojení ion, CInternetSession::GetHttp Připojení ion nebo CInternetSession::GetGopher Připojení ion. Každé z těchto volání je specifické pro typ protokolu. Tato volání neotevřou soubor na serveru pro čtení nebo zápis. Pokud máte v úmyslu číst nebo zapisovat data, musíte soubor otevřít jako samostatný krok.
U většiny internetových relací CInternetSession
objekt funguje ručně s objektem CInternetFile :
Pro internetovou relaci musíte vytvořit instanci CInternetSession.
Pokud vaše internetová relace čte nebo zapisuje data, musíte vytvořit instanci
CInternetFile
(nebo její podtřídy, CHttpFile nebo CGopherFile). Nejjednodušší způsob, jak číst data, je volat CInternetSession::OpenURL. Tato funkce parsuje univerzální lokátor prostředků (URL) zadaný vámi, otevře připojení k serveru určenému adresou URL a vrátí objekt jenCInternetFile
pro čtení.CInternetSession::OpenURL
není specifický pro jeden typ protokolu – stejné volání funguje pro libovolnou adresu URL protokolu FTP, HTTP nebo gopher.CInternetSession::OpenURL
dokonce funguje s místními soubory (vrací se místoCStdioFile
CInternetFile
).Pokud vaše internetová relace nečte nebo zapisuje data, ale provádí jiné úlohy, například odstranění souboru v adresáři FTP, možná nebudete muset vytvořit instanci
CInternetFile
.
Objekt můžete vytvořit CInternetFile
dvěma způsoby:
Pokud použijete
CInternetSession::OpenURL
k navázání připojení k serveru, volání vrátíOpenURL
hodnotuCStdioFile
.Pokud používáte , nebo
GetHttpConnection
k navázání připojení k serveru, musíte volatCFtpConnection::OpenFile
CGopherConnection::OpenFile
, neboCHttpConnection::OpenRequest
, v uvedeném pořadí, vrátitCInternetFile
,CGopherFile
neboCHttpFile
, v uvedenémGetGopherConnection
pořadí.CInternetSession::GetFtpConnection
Postup implementace internetové klientské aplikace se liší v závislosti na tom, jestli vytvoříte obecného internetového klienta založeného na OpenURL
klientovi nebo klienta specifického pro protokol pomocí některé z GetConnection
těchto funkcí.
O čem chcete vědět víc
Návody napsat internetovou klientskou aplikaci, která funguje obecně s protokolem FTP, HTTP a gopher
Viz také
Win32 – internetová rozšíření (WinInet)
MFC – třídy pro tvorbu internetových klientských aplikací
Požadavky na třídy internetových klientů