Isn't it what CloseDelayed is meant for?

Francois Piette wrote:
> You should call Shutdown to gracefully close the connection.
> If you want to call close, do it using an intermediate custom message.
> --
> [EMAIL PROTECTED]
> Author of ICS (Internet Component Suite, freeware)
> Author of MidWare (Multi-tier framework, freeware)
> http://www.overbyte.be
>
>
> ----- Original Message ----- 
> From: <[EMAIL PROTECTED]>
> To: <twsocket@elists.org>
> Sent: Wednesday, October 03, 2007 12:04 AM
> Subject: [twsocket] TWSocketThrdServer - Bogus OnDataAvailable triggeredwhen
> Closed.
>
>
>   
>> Hello:
>>     I'm using TWSocketThrdServer and processing
>> client data from within the OnDataAvailable event
>> handler (client is set to LineMode=True).  I've
>> noticed that if the data transaction is completed and
>> I call Client.Close from within this event, the event
>> is called again with the previous ReceivedStr.
>>
>> Here's a sample of the code I am using:
>>
>> Procedure TMyServer.HandleDataAvailable(Sender:
>> TObject; Error: Word);
>> Var
>>   DataStr: String;
>>   bDone: Boolean;
>> Begin
>>   If (Error = 0) Then Begin
>>     With (Sender As TMyClient) Do Begin
>>       DataStr := ReceiveStr;
>>
>>       // parse the DataStr and do
>>       // whatever needs to be done.
>>       // bDone may be set here.
>>
>>       If (bDone) Then Begin
>>         SendLine('Sayonara.');
>>         TMyClient(Sender).Close; // <<-- HERE!
>>       End;
>>     End;
>>   End Else Begin
>>     // Handle errors...
>>     TMyClient(Sender).Abort;
>>   End;
>> End;
>>
>> When that Close method is called, the event is
>> immediately re-entered with the same data.  Am I
>> doing something stupid?
>>
>>     Thanks,
>>     -dZ.
>>
>> -- 
>> 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