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