WinInet buffer
-
HINTERNET hInternet, hFile; bool reading; char buffer[8192]; DWORD bytesread; hInternet=InternetOpen("ApfelNews", INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0); if(hInternet==NULL) { MessageBox(hwnd, "Konnte Internet-Session nicht starten!", "Fehler!", MB_OK); } hFile=InternetOpenUrl(hInternet, "http://www.google.de", 0, 0, INTERNET_FLAG_DONT_CACHE, 0); if(hFile==NULL) { MessageBox(hwnd, "Konnte Seite nicht laden!", "Fehler!", MB_OK); } while(reading) { reading=InternetReadFile(hFile, &buffer, 4096, &bytesread); buffer[bytesread]='\0'; if(reading && bytesread==0) { break; } MessageBox(hwnd, buffer, "Content", MB_OK); }Hi Leute!
Das ist mein erster Versuch mit den WinInet funktionen und funktioniert an sich auch. Nur hab ich aus andern Beispielen immer gesehen, dass kleinere buffer verwendet werden und wollte fragen ob es so wie ich es hab auch gut ist. Also ist ein kleinerer buffer in irgendeiner hinsicht "besser" oder kann ich es einfach so lassen?
Ciao,
Flo
-
Lass immer buffer groß wenn du unsciher bist.
Lieber sehr sehr viel zu viel als 1 Byte zu wenig.Bei heutigen Systemen macht das bezüglich der effizienten Nutzung von Ressourcen des Systems nciht viel aus..
Kannste also so lassen.
Und wenn du weist wie groß der Buffer sein MUSS dann sorge dafür dass er nur nicht ZU KLEIN ist...(PS: Vorteil wäre nur: du würdest für paar Millisekunden dem System paar Bytes weniger genommen haben
)Mfg.
-
Ok, danke! Das wollt ich wissen, wobei ein kleiner buffer hier egal wäre. Wenn der buffer zu klein ist, dann fordert er halt die daten immer in teilen an, die so groß sind wie der buffer. Also kann er im Prinzip nicht zu klein sein.
Ciao,
Flo