Francois Piette wrote:
The first important thing is: Are you using the very latest ICS version
downloaded from my website ?
Yes, I re-installed the last version this morning.
When users clicks links or post forms in their browsers, sometimes they
don't get any answer. By debugging the server I realized that in such a
case the OnPostDocument event is never triggered.
Do you have a reproductible case ?
>
No and that's my main problem. I tested this morning, it was awful (like
25% of connections "lost", on two different PCs. But now I'm trying
again and it works better (I didn't change anything to the program since
this morning, but now I only get very few connections loss).
Also, this morning I talked about the OnPostDocument event because at
that time, nearly only POST commands had a problem. Now the post
commands work totally fine, and the few errors concern basic GET commands.
Does it occurs with the sample "WebServ" delivered with ICS ?
Well it seems it doesn't (at least I didn't experienced the problem
yet), which is surprising because my program is quite identical to the
demo (I mean, I implemented some functions but nothing that directly
change the way THttpServer works).
--
[EMAIL PROTECTED]
http://www.overbyte.be
----- Original Message -----
From: "Christophe" <[EMAIL PROTECTED]>
To: <twsocket@elists.org>
Sent: Monday, June 20, 2005 4:01 AM
Subject: [twsocket] No response problem [THttpServer - TCustomLineWSocket]
Hi,
First of all, I'd like to apologize if my question is inapropriate, it
is the first time I am using a mailing list (I usually use php based
forums for development issues).
I searched a lot about the following problem, but I still don't have a
clue of what's happening:
I have been developping few applications that use the THttpServer
component. I noticed that sometimes (randomly), the server gives no
answer to clients.
When users clicks links or post forms in their browsers, sometimes they
don't get any answer. By debugging the server I realized that in such a
case the OnPostDocument event is never triggered.
I checked the call stack at that time, and it seems the problem is in
TCustomLineWSocket.TriggerDataAvailable (Unit WSocket). At the beginning
of this function there is the following test:
if (not FLineMode) or (Length(FLineEnd) = 0) or (FSocksState <> socksData)
then begin
Result := inherited TriggerDataAvailable(Error);
Exit;
end;
I placed breakpoints and I am pretty sure that if FLineMode is false,
then there is no problem (the component will continue and send back data
to the client).
If FLineMode is false, the component will stop here (after the Exit),
and will never send anything back to the client browsers (they wait,
and, after a while, they fail because of a timeout).
It brings 2 questions:
- For the same link (GET) or form (POST), why does sometimes FlineMode
is true and sometimes false ?
- How to force FLineMode to be true, or more generally how to solve such
a problem. (I tried to do a (Client as THTTPConnection).LineMode:=true
in the OnClientConnect event but it doesn't change a thing).
PS: It is the first time I checked ICS source, so my analysis of the
problem is maybe totally wrong.
PS2: I tested this on two different PCs with WindowsXP (no firewall, no
antivirus) on a LAN. I re-downloaded ICS today to be sure, but the
problem is still there.
Thank you,
Christophe
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be