Donc pour résumer là ou j'en suis... j'ai compris comment marchait les sockets Tserver et Tclient. Les procédures pour envoyer et recevoir du texte aussi. Cependant je veux envoyer plus que du texte, donc je me suis tourné vers les routines (je crois que ça s'appelle comme ça) SendBuf et ReceiveBuf. J'envoie un tableau pour l'instant uniquement du coté serveur qui contient le message envoyé par le serveur en Tab[1] et le pseudo en Tab[2]. L'envoi "semble" être un succès puisque le programme serveur ne plante pas. Mais sur le programme client il ya un probleme puisque je demande d'afficher le message dans un mémo et le pseudo dans un autre. Seul une ligne blanche s'affiche dans le mémo du client. Je vais rajouter le code partiel pour ceux qui me trouvent incompréhensible

Le code ci dessous est présent dans les 2 programmes (juste après l'implementation):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Type
  T_Tab=Array[1..3] of String;
 
Var
  Tab:T_Tab;
  Form1: TForm1;
Coté Serveur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
Begin
If Key = #13 Then
  If Edit2.Text <> '' Then
  Begin
    Tab[2]:= 'Admin';
    Tab[1]:= Edit2.Text;
    If Serveur.Socket.ActiveConnections <> 0 Then
    Begin
    Serveur.Socket.Connections[0].SendBuf(Tab,SizeOf(Tab));
    Edit2.Text := '';
    End;
 End;
Coté Client:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
Begin
  Recus := Socket.ReceiveLength;
  If Recus <> SizeOf(Tab) then Exit;
  Socket.ReceiveBuf(Tab,Sizeof(Tab));
  If Tab[1] <> '' Then
    Memo2.Lines.Add(Tab[1]);
  If Tab[2] <> '' Then
    Memo3.Lines.Add(Tab[2]);
end;
merci d'avoir lu.