AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi idHTTP dauerhafte Verbindung
Thema durchsuchen
Ansicht
Themen-Optionen

idHTTP dauerhafte Verbindung

Ein Thema von SyntaxXx · begonnen am 11. Mai 2013 · letzter Beitrag vom 12. Mai 2013
Antwort Antwort
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

idHTTP dauerhafte Verbindung

  Alt 11. Mai 2013, 20:16
Ich bin gerade dabei ein kleines Tool zu programmieren und benötige dafür eine dauerhafte Verbindung zum Server.
Ich benutze die idHTTP Komponente.

Doch leider habe ich keine Ahnung, wie ich damit eine Dauerhafte Verbindung zum Server bekomme, solange bis ich die Verbindung schließe.
Könnt ihr mir sagen, wie das möglich ist?
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#2

AW: idHTTP dauerhafte Verbindung

  Alt 11. Mai 2013, 20:20
Vielleicht so:
Delphi-Quellcode:
      
with IdHTTP1 do
      begin
        Request.Accept:= 'text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1';
        Request.AcceptCharSet:= 'iso-8859-1, utf-8, utf-16, *;q=0.1';
        Request.AcceptEncoding:= 'deflate, gzip, identity, *;q=0';
        Request.Connection:= 'Keep-Alive'; //!!
        Request.ContentType:= 'application/x-www-form-urlencoded';
        Request.UserAgent:= 'Opera/9.80 (Windows NT 6.1; U; de) Presto/2.5.22 Version/10.51';
      end;
Das Keep-Alive hört sich jedenfalls danach an.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: idHTTP dauerhafte Verbindung

  Alt 11. Mai 2013, 20:21
Guten Abend,

HTTP ist ein Zustandsloses Protokoll.
Eine dauerhafte TCP Verbindung lässt das Protokoll meines Wissens nicht zu.
Es wird nur pro HTTP Nachricht eine TVP Verbindung aufgebaut.

Grüße
Klaus
Klaus

Geändert von Klaus01 (11. Mai 2013 um 20:37 Uhr)
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#4

AW: idHTTP dauerhafte Verbindung

  Alt 11. Mai 2013, 20:29
Ok vielen Dank.


An dieser Stelle möchte ich einfach mal sagen, wie sehr mir dieses Board hier gefällt.
Keine 5 Minuten nach Erstellung des Threads bekommt man hier eine sehr hilfreiche, leicht verständliche und fundierte Antwort.

Dafür ein riesen Danke.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#5

AW: idHTTP dauerhafte Verbindung

  Alt 12. Mai 2013, 12:02
HTTP ist ein Zustandsloses Protokoll.
Eine dauerhafte TCP Verbindung lässt das Protokoll meines Wissens nicht zu.
Es wird nur pro HTTP Nachricht eine TVP Verbindung aufgebaut.
Seit HTTP 1.1 ist standardmäßig die TCP/IP Verbindung ständig (persistent) geöffnet, das keep-alive ist optional.

Das ist kein Wiederspruch zur Aussage HTTP sei ein zustandsloses Protokoll - keep-alive spielt sich auf einer anderen Schicht im Schichtenmodell ab.
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#6

AW: idHTTP dauerhafte Verbindung

  Alt 12. Mai 2013, 12:43
Man kann mit HTTP schon einiges verrücktes Zeug machen, zB. Streaming oder Long-Polling bzw. BOSH.
Das muss aber auf Serverseite unterstützt sein (und keine Ahnung wie idHTTP damit zurechtkommt).
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#7

AW: idHTTP dauerhafte Verbindung

  Alt 12. Mai 2013, 12:58
Man kann mit HTTP schon einiges verrücktes Zeug machen, zB. Streaming oder Long-Polling bzw. BOSH.
Das muss aber auf Serverseite unterstützt sein (und keine Ahnung wie idHTTP damit zurechtkommt).
Für Streaming kann man notfalls eine Ebene tiefer gehen und TIdTCPClient einsetzen:

http://stackoverflow.com/questions/1...ream-with-indy

Long-Polling ist unproblematisch, da es einfaches HTTP ist bei dem der Client in einer Schleife mit relativ hohem Timeout (zum Beispiel 30 Sekunden) Requests an die gleiche URL sendet und so ununterbrochen lauscht, ob der Server Neuigkeiten hat.

Auch serverseitig geht Long Polling mit Indy TIdHTTPServer problemlos:

http://stackoverflow.com/questions/1...ing-jquery-and
http://mikejustin.wordpress.com/2013...-long-polling/
Michael Justin
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz