Server request klappt nur einmal



  • Hallo. Ich habe mal wieder mit Socketverbindungen und so rumprobiert und jetzt hat es auch endlich geklappt was vom Server zu kriegen. Also ich habe mir forumstart.htm vom Server schicken lassen und das hat auch geklappt, allerdings nur beim ersten Mal. Bei jeder weiteren Anfrage kriege ich keine Antwort vom Server, warum?
    Also ich trenne die Verbindung zwischen den Anfragen nicht, obwohl es, wenn ich es mache, klappt. Aber warum ist das so?



  • HTTP-Protokoll? Wenn ja dann ist das verbindungslos und der Server schließt von sich aus die Verbindung. D.h. für jede einzelne Datenübertragung musst du einen neuen Connect durchführen.



  • Hi,

    könnte sonst auch daran liegen, dass du den Sendestream noch flushen musst nachdem du Daten schreibst, also myStream.flush().

    gruß dirk



  • Ok, danke.

    Ähh, ist nur das http-Protokoll verbindungslos, oder sollte ich generell bei jedem Lesen und schreiben einen neuen Stream öffnen?



  • 😃 gib mich code, ich geb dich antwort 😃



  • das http ist meiner Meinung nach alles andere als verbindungslos, da HTTP über TCP gesendet/empfangen wird, welches allerdings Server und Client beenden können.



  • Http ist zwar grundsätzlich (aus der abstrakten Sichtweise) verbindungslos, da auf einen Request eine Antwort gegeben wird und dann die Verbindung abgebrochen wird.

    Es ist allerdings so, das die ganze Verbindung über TCP läuft. TCP ist eigentlich ein Protokoll das nicht verbindungslos ist. Dennoch wird nach jeder Anfrage die Verbindung wieder unterbrochen.

    Es gibt jedoch bei HTTP 1.1 auch eine option "Keep alive" oder so, der dazu führt, das die Verbindung nicht abgebrochen wird. Dies kann noch ganz nützlich sein und es spaart auch Zeit, wenn nicht für jedes einzelne gif, von einer Website eine neue TCP Verbindung aufgebaut werden muss, was ja auch schon mind. 3 IP-Pakete kostet.

    Gruss gEdicht



  • gEdicht schrieb:

    Dennoch wird nach jeder Anfrage die Verbindung wieder unterbrochen.

    Danke, genau dies meinte ich 🙂


Anmelden zum Antworten