Salut
Un peu normal comme comportement : ton serveur il recoit des données. Il ne sait pas faire la différence entre telles et telles choses : en tout cas pas tout seul.
Imagine tu envois à ton serveur, un fichier de 10Mo. L'upload est à 50 % et tu lui envois un string, c'est à dire une autre donnée. Ben ton serveur il faut pas la différence : pour lui un flux de données est un flux de données.
C'est pour ca que : Qui dit client/serveur dit
protocole de communication. Chose que tu ne sembles pas avoir fait.
Une facon de faire est d'utiliser un séparateur :
ClientSocket1.Socket.SendText('Mon action'+'|'+'Param1+'#'+Param2');
Ton serveur recoit : Mon action|Param1#Param2.
Un simple traitement avec Pos et Copy te permet de récupérer:
Mon_action, Param1 et Param2
Et ensuite un Case of (Attention pour les strings faut ruser), ou des If .. Then .. Else.
Et suivant le "Mon_Action" une procédure est déclenchée coté serveur.
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
Var
Str, Mon_Action:String;
begin
Str:=ServerSocket1.Socket.ReceiveText;
//Procedure pour parser le message : on récupère Mon_Action
If Mon_Action='Boite de dialogue' Then
Showmessage('Boite de Dialogue');
end;
A partir de là; il est parfaitement possible de trier des données recues;
@++
Ps : Un ptit bout de code ne ferait pas de mal, pour nous éclairer aussi dans ton aide.
