Hello sz,

SocketSpy will show the sent/received data. You can see it in hex-ascii
if click right and choose debug or something. As Francois say,
messageBox will stop at first null, but you can use WriteLn, it does
not.

---
Rgds, Wilfried
http://www.mestdagh.biz

Thursday, October 6, 2005, 10:01, Fastream Technologies wrote:

> Hi All!

> Per Francois' private reply, I coded the following for my problem:

> function TWebConnection.SendSync(Data: PChar; DataLen: Integer): integer;
> begin
>         MessageBox(0, Data, Data, MB_OK); // for debug

>         Pause();

>         Result := WSocket_send(HSocket,
>                     Data,
>                     DataLen,
>                     0);

>         Resume();
> end;

> Now, even though the MessageBox shows the correct ASCII/HTML data with
> header, the socket shows garbage with SocketSpy:

> 06.10.2005 10:54:14 Connection Opened

> 06.10.2005 10:54:14 From Local

> GET /index.php HTTP/1.1..Host: localhost:81..User-Agent: Mozilla/5.0
> (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511
> Firefox/1.0.4..Accept:
> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5..Accept-Language:
> en-us,en;q=0.5..Accept-Encoding: gzip,deflate..Accept-Charset:
> ISO-8859-1,utf-8;q=0.7,*;q=0.7..Keep-Alive: 300..Connection:
> keep-alive..Referer: http://localhost:81/....

> 06.10.2005 10:54:21 From Remote

> °S»...¹..à..Dæ..Dë..İæ...à..øü!."[½.........................................................................°S».`1».....o1».Ê.

> Any idea why this happens?

> Best Regards,

> SubZ

> ----- Original Message ----- 
> From: "Fastream Technologies" <[EMAIL PROTECTED]>
> To: "ICS support mailing" <twsocket@elists.org>
> Sent: Wednesday, October 05, 2005 3:46 PM
> Subject: [twsocket] Sync THttpConnection derivative


>> Hello,
>>
>> I know most of you are very inclined to say that "sync is no good!" but it
>> is not that simple. I have licensed code from BPDX.com for ISAPI and ISAPI
>> filters andt hese units (more than 100k!) need to read, write and alter
>> header or an existing THttpConnection derivative class. Starting with
>> writing, I wrote the below function:
>>
>> function TWebConnection.SendSync(Data: PChar; DataLen: Integer): integer;
>> var
>>        Count: integer;
>> begin
>>        if FTerminated then
>>        begin
>>                Result := 0;
>>                Exit;
>>        end;
>>
>>        fDataLen := DataLen;
>>        fTotalSentDataLen := 0;
>>        //OldDataAvailable := FOnDataAvailable;
>>        //OldSendData := FOnSendData;
>>        //OldDataSent := FOnDataSent;
>>        FOnDataAvailable := InternalDataAvailable;
>>        FOnSendData := ConnectionSendDataISAPI;
>>        FOnDataSent := nil;
>>        DoneFlag := false;
>>
>>        ISAPIDownloadPauseDelay;
>>
>>        Count := Send(Data, DataLen);
>>        Result := Count;
>>
>>        if (Result = 0) or FTerminated then
>>        begin
>>                Result := 0;
>>                Exit;
>>        end;
>>
>>        if WaitUntilReady(DoneFlag) <> 0 then
>>                Result := 0
>>        else
>>        begin
>>                DataSent := DataSent + Count;
>>                FOnDataAvailable := nil;
>>                FOnSendData := nil;
>>                FOnDataSent := nil;
>>        end;
>> end;
>>
>> InternalDataAvailable, and WaitUntilReady are the same as Francois'.
>>
>> procedure TWebConnection.ConnectionSendDataISAPI(Sender: TObject;
>> BytesSent:
>> Integer);
>> begin
>>        fTotalSentDataLen := fTotalSentDataLen + BytesSent;
>>
>>        if fTotalSentDataLen >= fDataLen then
>>                DoneFlag := true;
>> end;
>>
>> So far so good but when I launch many client threads to the PHP5ISAPI.dll
>> script, in a few seconds it gives access violation in kernel32.dll! I
>> think
>> considering also the logic of ISAPI filters, we still need sync functions
>> in
>> parallel. Do you see the bug above?
>>
>> Regards,
>>
>> SubZ
>>
>> -- 
>> 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