[EMAIL PROTECTED] wrote:
> Here's a sample of my code:
> 
> Procedure TMyServer.ClientDataAvailable(Sender:
> TObject; Error: Word);
> Begin
>   With (Sender As TMyClient) Do Begin
>     If (SomethingBadHappened) Then Begin
>       SendLine('Error!');
>       Shutdown(1);
>     End;
>   End;
> End;

Your code does not guarantee that all data will be sent
to the client. Make sure that ShutDown() is called after
all data has been delivered to winsock. Something like
that:

Procedure TMyServer.ClientDataAvailable(Sender:
TObject; Error: Word);
Begin
  With (Sender As TMyClient) Do Begin
    If (SomethingBadHappened) Then Begin
       OnDataSent := ClientDataSent;   
       SendLine('Error!');
    End;
  End;
End;

procedure TMyServer.ClientDataSent(Sender: TObject; ErrCode: Word);
begin
    TWSocket(Sender).OnDataSent := nil; 
    TWSocket(Sender).Shutdown(1);    
end;

--
Arno Garrels [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html




-- 
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