![]() |
indy http.Post problem
heyho.
für meinen client (siehe projekt ->signatur) nutze ich die indykomponente idHtttp.Post die funktioniert an sich auch gut und sendet die daten via post an meinen server. nur nach einer gewissen zeit (so ca. 100-300 aufrufe) verweigert sie immer den dienst.
Delphi-Quellcode:
so sieht meine procedure zum daten senden erstmal aus.
procedure tform1.senddata;
var data: TIdMultiPartFormDataStream; pass : MD5Digest; reply :string; begin zeile[1] := daten[cbline1.itemindex]; zeile[2] := daten[cbline2.itemindex]; zeile[3] := daten[cbline3.itemindex]; zeile[4] := daten[cbline4.itemindex]; zeile[5] := daten[cbline5.itemindex]; if edit_user.text = '' then begin reply:='Keine Userdaten eingetragen'; end else begin IdHTTP1.Request.UserAgent:='siginfo client ' + version + '(user: ' + edit_user.text + ')'; data := TIdMultiPartFormDataStream.Create; //passwort auslesen und in md5 pass := md5.MD5String(edit_pass.text); try { POST daten erstellen } data.AddFormField('user', edit_user.text); data.AddFormField('pass', md5.MD5Print(pass)); data.AddFormField('zeile1', zeile[1]); data.AddFormField('zeile2', zeile[2]); data.AddFormField('zeile3', zeile[3]); data.AddFormField('zeile4', zeile[4]); data.AddFormField('zeile5', zeile[5]); data.AddFormField('lastupdate', datetostr(date) +', '+ timetostr(gettime)); data.AddFormField('version', version); data.Position:=0; try reply := IdHTTP1.Post(server, data); except reply := 'Server Timeout'; end; finally data.free; end; end; Log.Lines.add (timetostr(gettime) + ': ' + reply); statusbar1.Panels[1].Text:=reply; statusbar1.Panels[0].Text:=timetostr(gettime); end; wenn der server nicht erreichbar ist, schreibt er ja "server timeout" in den antwortstring rein. aber trotz verbindung zum server (localhost zur zeit noch) bringt er mir immer "timeout". erst wenn ich das programm neu starte, ist dieser fehler vorbei. wie kann ich das beheben und vorallem - woran liegt das? |
Re: indy http.Post problem
Guten Morgen,
kannst Du in Erfahrung bringen, welche Exception ausgeworfen wird. Dein Code wirft bei jedweder Exception als reply "Server Timeout" aus.
Delphi-Quellcode:
Grüßetry reply := IdHTTP1.Post(server, data); except reply := 'Server Timeout'; Klaus |
Re: indy http.Post problem
ich hab das bis jetzt noch nicht in der bsd bekommen, diesen fehler.
aber so im schlaf hab ich mir überlegt, ich kann mir doch eigentlich die try finally sparen oder? ich brauch ja nur das senden abfangen! |
Re: indy http.Post problem
sehe ich auch so
Grüße Klaus |
Re: indy http.Post problem
so ich werd mal schauen ob sich das problem damit schon erledigt hat ;)
|
Re: indy http.Post problem
also es kam erneut nach dem 546 update....
dann musst ich das programm neu starten und schon gings wieder. ich schau jetzt mal was genau für ein fehler kommt wenn ich das in der IDE laufen lasse. aber das kann dauern bin das wieder auftritt |
Re: indy http.Post problem
---------------------------
Debugger Exception Notification --------------------------- Project siginfo.exe raised exception class EIdSocketError with message 'Socket Error # 10054 Connection reset by peer.'. --------------------------- Break Continue Help --------------------------- aber die seite mit dem script ist einwandfrei erreichbar. (wie gesagt local host...) aber er hat mir auch keine fehler in der componente selbst gebracht. kann ich die irgendwie dynamisch erstellen bevor ich die daten sende? und anschliesend eben wieder schliesen? (also die idhttp componente) |
Re: indy http.Post problem
keine Ahnung obdas hilft, aber kannst ja mal schauen ->
![]() oder hier -> ![]() Grüße Klaus |
Re: indy http.Post problem
In welchen Abständen führst du diese Prozedur aus?
|
Re: indy http.Post problem
wahlweise in 30 bzw 60 sekunden abständen.
aber mit timeout zeiten sollte das ja kein problem geben, da die abfrage an localhost gesendet wird! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz