Use CloseDelayed instead of Close.

--
[EMAIL PROTECTED]
http://www.overbyte.be

----- Original Message ----- 
From: "Jack" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Thursday, May 19, 2005 12:35 AM
Subject: Re[2]: [twsocket] Receive result of the first ReceiveStr() call twice


> Hello Wilfried,
> 
> Sure. Below is my event handler code. Hope I'm doing something
> wrong, otherwise, it's really strange. TProxyChecker is the owner
> object of the TProxySocket object array. TProxySocket is derived
> from TWSocket.
> 
> procedure TProxyChecker.WSocketDataAvailable(Sender: TObject; ErrCode: Word);
> var s: String;
> begin
>   if ErrCode = 0 then
>     with TProxySocket(Sender) do
>     begin
>       s := ReceiveStr();
>       Log(s);
>       Close();
>     end;
> end;
> 
> The destination server is a commercial http proxy server.
> I tried using #13#10 and #13#10#13#10, I different strings
> read back from ReceiveStr. But the second string includes
> the first string in both cases. So it shouldn't be the server
> sending the string twice.
> 
> BTW, I'm using the latest ICS.
> 
> -- 
> Best regards,
> Jack
> 
> Wednesday, May 18, 2005, 3:31:32 PM, you wrote:
> 
> WM> Hello Jack,
> 
> WM> Can you show your OnDataAvailable handler ?
> WM> Eventually download SocketSpy from 'user made' page and 'hang' it
> WM> between client and server. Then you see exacly what is sent by server.
> 
> WM> ---
> WM> Rgds, Wilfried
> WM> http://www.mestdagh.biz
> 
> WM> Wednesday, May 18, 2005, 20:48, Jack wrote:
> 
> >> Hello Francois and all,
> 
> >> I'm using a TWSocket client in LineMode with LineEnd set to #13#10.
> >> I connect to a HTTP proxy server using CONNECT command. I then get
> >> a reply back from the HTTP proxy from ReceiveStr()
> 
> >> Things look OK except that I am receiving the data from the first
> >> ReceiveStr() call twice. I get two WSocketDataAvailable messages for
> >> 3 lines in the HTTP response:
> 
> >>   Line 1: HTTP/1.0 200 Connection established
> >>   Line 2: Proxy-agent: Proxy+ 3.00
> >>   Line 3: (Blank line)
> 
> >> However, I'm getting the first ReceiveStr() result twice, see below:
> >> I'm getting "HTTP/1.0 200 Connection established" twice:
> 
> >> 5/18/2005 2:36:43 PM WSocketDataAvailable idx=0 addr=127.0.0.1:4480 
> >> ErrCode=0
> >> 5/18/2005 2:36:43 PM HTTP/1.0 200 Connection established
> >> 5/18/2005 2:36:43 PM
> >> 5/18/2005 2:36:43 PM 
> >> 5/18/2005 2:36:43 PM WSocketDataAvailable idx=0 addr=127.0.0.1:4480 
> >> ErrCode=0
> >> 5/18/2005 2:36:43 PM HTTP/1.0 200 Connection established
> >> Proxy-agent: Proxy+ 3.00
> 
> 
> >> I then changed LineEnd to #13#10#13#10, I still get the result of
> >> the first ReceiveStr() twice, this time the result is two lines:
> 
> >>   HTTP/1.0 200 Connection established
> >>   Proxy-agent: Proxy+ 3.00
> >>   (Blank line)
> 
> >> 5/18/2005 2:40:11 PM WSocketDataAvailable idx=0 addr=127.0.0.1:4480 
> >> ErrCode=0
> >> 5/18/2005 2:40:11 PM HTTP/1.0 200 Connection established
> >> Proxy-agent: Proxy+ 3.00
> 
> 
> >> 5/18/2005 2:40:11 PM 
> >> 5/18/2005 2:40:11 PM 
> >> 5/18/2005 2:40:11 PM WSocketDataAvailable idx=0 addr=127.0.0.1:4480 
> >> ErrCode=0
> >> 5/18/2005 2:40:11 PM HTTP/1.0 200 Connection established
> >> Proxy-agent: Proxy+ 3.00
> 
> 
> >> It seems that, somehow the first ReceiveStr() didn't remove the data
> >> from the buffer. Or am I missing anything?
> 
> 
> >> -- 
> >> Best regards,
> >> Jack
> 
> 
> 
> 
> 
> 
> -- 
> 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

Reply via email to