Hallo Forum!
Ich möchte gerade einen kleinen Server, der auch html Seiten an einen Browser schicken kann, schreiben.
Dabei frage ich mich folgendes:
-
Was muß an den Browser gesendet werden, wenn ich sicherstellen will, daß die Seite auch angezeigt wird? Langt ein einfaches "Content-type: text/html\r\n\r\n […] ", oder muß ich noch andere Sachen in den HTTP-Header stellen?
-
_Muß_ ich erst auf den Request vom Client warten bis ich die Seite Losschicke, oder darf ich auch gleich nach accept() loslegen? (Muß ich da auch speziell was beachten, wenn die socket non-buffering ist?)
-
Wie kann ich sichergestellen, daß der Client sein Request auch abgeschlossen hat? Momentan benutze ich noch was in der Art:
const int iBuffSize=512;
char pBuffer[iBuffSize];
int iBytes = iBuffSize;
while ( iBytes == iBuffSize ) {
iBytes = recv(iSock, pBuffer, iBuffSize, 0);
/* […] */ }
Ich denke mal, daß sowas nur in der localen loopback und LAN-Welt funktioniert.
- Wie soll ich reagieren, wenn recv -1 (bzw SOCKET_ERROR) oder 0 zurückgibt? Bedeutet 0 immer, daß die Verbindung vom Client zurückgesetzt wurde? Gibt es da Unterschiede zwischen Linux-Sockets und Winsock?
Fragen über Fragen …
Gruß,
Jo