Bonjour à tous !
Je suis bloquer avec l'utilisation des composants: IdTCPServer et IdTCPClient, en faite j'essai de mettre en place un système de chat multipost avec authentification. Je m'explique, chaque client doit s'authentifier par un pseudo et un mot de passe pour se connecter au serveur, le serveur à son tour doit chercher le client dans la base de données, si les informations fournies par le client sont correctes, le serveur enverra un code (ex: 'ok') pour que le client accède à son compte; sinon, il enverra 'no' et le client n'aura pas accès à son compte.
Voici le code sources:

1) Côté Client :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
var rec: String;
begin
idtcpclient1.Host :='192.168.0.1';
idtcpclient1.Port :=1050;
idtcpclient1.Connect;
idtcpclient1.IOHandler.Writeln(pseudo.text);
idtcpclient1.IOHandler.Writeln(password.text);
rec :=idtcpclient1.IOHandler.Readln;
if rec='ok' then "Accèder à son compte"
else messagedlg('Authentification incorrecte', mtError, [mbOK],0);
2) Côté Serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
//Evénement OnCreate de la fiche
idtcpserver1.Defaultport := 1050;
idtcpserver1.Active := true;
//Evénement OnExecute du serveur
var pseudo, password: String;
begin
pseudo :=AContext.Connexion.IOHandler.Readln;
password := AContext.Connexion.IOHandler.Readln;
if pseudo "se trouve dans la bdd" then 
if pseudo "à pour mot de passe password" then
if password "est correct à celui qui se trouve dans la bdd" then AContext.Connection.IOHandler.Writeln('ok');
else
AContext.Connection.IOHandler.Writeln('no');
Le problème est que quand le client envoie sa requête pour s'authentifier, l'application cliente se plante, je ne sais pas pourquoi, quelqu'un a-t-il une idée ?
Aidez-moi s'il vous plaît, car ceci est mon sujet de TFC !
Merci encore pour vos aides aimables !
Cordialement,
Grégoire Mafutala.