Arno, Instead of making a demo, I have a question and an idea: Please examine the code below and read the comments:
procedure THttpCli.GetHeaderLineNext; ... if {(FResponseVer = '1.0') or (FRequestVer = '1.0') or} { [rawbite 31.08.2004 Connection controll] } FCloseReq then begin if FLocationFlag then { Added 16/02/2004 } StartRelocation { Added 16/02/2004 } else begin { Added 16/02/2004 } if FRequestType = httpHEAD then begin { Added 23/07/04 } { With HEAD command, we don't expect a document } { but some server send one ! } FReceiveLen := 0; { Cancel received data } StateChange(httpWaitingBody); FNext := nil; end; FCtrlSocket.CloseDelayed; { Added 10/01/2004 THIS WORKS PERFECTLY BUT..} end; end else if FRequestType = httpHEAD then begin //AG 05/27/08 { With HEAD command, we don't expect a document } //AG 05/27/08 { but some server send one ! } //AG 05/27/08 FReceiveLen := 0; { Cancel received data } //AG 05/27/08 StateChange(httpWaitingBody); //AG 05/27/08 FNext := nil; //AG 05/27/08 SetReady; //AG 05/27/08 WHY IS THIS? INSTEAD I PROPOSE: FCtrlSocket.CloseDelayed; { Added 05/17/2009 Fastream / Subzero } end //AG 05/27/08 This solves my problem. If it is ok for you as well, please apply this fix to the component. Best Regards, SZ On 5/16/09, Arno Garrels <arno.garr...@gmx.de> wrote: > Fastream Technologies wrote: > > Hello Arno, > > > > The reason is when the state is httpReady, it is not yet ready in some > > cases, that is a misleading state machine state (IMHO). > > If that's so clear, why don't you provide a simple test case that shows > the issue in actions? > > > > > ASAP I will try the postmessage and let you know if it is ok for my > > case here. I believe I did this a few weeks ago but not sure so will > > retry in case... > > That won't tell me anything really useful, regardless whether your > application worked after this change or not. > > -- > > Arno Garrels > > -- -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be