Bonjour,
Lors de ce tutorial, nous allons apprendre à établir une connection tcp/ip entre un client et un serveur indy. Notre compilateur sera Borland Delphi 7.
Tout d'abord vous aurez besoin de télecharger et d'installer Indy (Indy 9 utilisé ici). Une fois indy installé, cherché dans les onglets les composants IndyTcpServer et IndyTCPClient et placez les sur votre fiche. Vous aurez aussi besoin de deux bouttons et trois TEdit comme ceci :
Une fois les TEdit et TButton disposé, ouvrez l'évenement Onexecute du composant IndyTcpServer :
Premierement on crée une variable texte de type string(1), ensuite, on attribue le message reçue à notre variable texte avec l'Athread.connection(2) . Une fois le message reçu on l'affiche dans un TEdit(3) ce qui donne :
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
texte: string; (1)
begin
with Athread.connection do
texte := ReadLn();(2)
Edit1.text(texte);
(3)
end;
Maintenant passons à la connection au client/serveur. Edit1 sera le champ d'ip, Edit2 le champ de port et Button1 le bouton de connection. Ouvrez l'évènement Onclick de Button1. Ensuite on attribue idTcpClient.Host à notre Edit1 (1), on attribue IdTCPClient.port à Edit2 en transformant sa valeur de string à integer(2), finalement on se connecte (3). Ce qui donne :
procedure TForm2.Button1Click(Sender: TObject);
begin
IdTCPClient.Host:=(Edit1.text);(1)
IdTCPClient.Port:= strtoint(Edit2.text);(2)
IdTCPClient.Connect(-1);(3)
end;
Une fois connecté, pour envoyer un message, nous allons utiliser l'évènement OnClick du Button2, donc une fois celui-ci ouvert, c'est tout simple nous allons utiliser Edit3 comme champ de message et l'envoyer grâce au IdTCPClient.
procedure TForm2.Button2Click(Sender: TObject);
begin
IdTCPClient.WriteLn
(Edit3.text);
end;
Maintenant à vous de le perfectionner et d'y ajouter vos fonctions.