> No, I don't have any message handler of my own in my code.

I'm not talking about "message handler of your own". I'm talking about calling 
the message pump
directly or indirectly from an event handler. It's enough to put a ShowMessage 
somewhere or to call
ProcessMessages to get the kind of problem you mention.

--
[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:28 AM
Subject: Re[2]: [twsocket] Receive result of the first ReceiveStr() call twice


> Hello Francois,
>
> Thanks for the quick reply.
>
> No, I don't have any message handler of my own in my code.
> I create an object as the owner of an array of TWSocket objects.
> I assign the even handler of the TWSocket objects to a member
> function of that owner object and call ReceiveStr() in the
> OnDataAvailable handler. Any other reasons that you can think
> of that could cause this problem?
>
> My component verifies if a HTTP proxies supports CONNECT
> on port 443. I don't think HTTPCli component does what I
> want to do ...
>
> -- 
> Best regards,
> Jack
>
> Wednesday, May 18, 2005, 3:59:06 PM, you wrote:
>
> FP> Usually, when you receive the same data twice, it is because you called 
> the
> FP> message pump from one the ICS component event handler. Never call directly
> FP> or indirectly ( ShowMessage, MessageBox,...) from an event handler that is
> FP> called by hardware (a data packet comes from the network) unless you 
> really
> FP> know what you are doing.
>
> FP> btw: Do not reinvent the wheel, use the HTTP component !
>
>
> FP> ----- Original Message ----- 
>
> >> 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
> FP> 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
> FP> 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
> FP> 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
> FP> 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?
>
>
> -- 
> 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