Sockets : indexage des clients

Soyez le premier à donner votre avis sur cette source.

Vue 5 728 fois - Téléchargée 1 322 fois

Description

J'ai écrit ce code suite à ma question sur le forum à propos de l'indexage des clients, je me demandais comment lorsqu'un client envoie une donnée, le serveur renvoie cette donnée à ce client et non pas aux autres (http://www.delphifr.com/infomsg_TSERVERSOCKET-INDEXAGE-CLIENTS_944352.aspx#4).
Merci à Francky23012301 pour sa réponse.

La partie du code qui traite la réponse est dans l'événement OnClientConnect du serveur. J'en ai profité pour accompagner le tout d'un petit chat (même si ça a déja été proposé) afin que les débutants sur les composants TServerSocket et TClientSocket puissent apprendre sans chercher dans 50 sources à la fois.

Je n'ai pas géré les erreurs WinSocks dans ce programme car il n'est pas fait pour être développé à grande étendue mais juste pour tester les envois à un seul client à la fois ou à tous les clients en même temps.

En espérant que ce code aidera du monde, j'accepte vos critiques :).

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

japee
Messages postés
1803
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
7 juillet 2019
-
Salut rafalus,

Voilà un code utile, très bien expliqué, qui sera utile à plus d'un.
Sinon, la variable "reçu"... ça compile chez toi ?
cs_rafalus
Messages postés
6
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
19 mai 2007
-
Salut, merci pour l'intérêt porté à ce code.
"reçu" passe chez moi mais à la base j'avais mis "msg" cependant ça ne compilait pas (je n'ai plus le message d'erreur en tête) donc j'ai mis "reçu" à la place, mais il est possible de remplacer "reçu" par une autre variable sans problème, il suffit de remplacer tous les "reçu" par cette variable.
cirec
Messages postés
4233
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
3 juillet 2019
32 -
Salut,
@Japee :les nouvelles versions de Delphi acceptent les caractères accentués
mais en principe on évite de s'en servir ;)
japee
Messages postés
1803
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
7 juillet 2019
-
J'allais poster ceci :

<ceci>
"il suffit de remplacer tous les "reçu" par cette variable"
Y'a intérêt... ^^
Tout de même étonné que ça passe sous D7... Quelqu'un peut confirmer ?
<\ceci>

Merci Cirec pour l'info ^^
Code très intéressant : j'ai moi même été heurté au même problème il y a peu et c'est vrai que c'est utile de savoir comment tout ça marche.
Par contre, j'ai eu des problèmes (sur mon appli à moi) entre le mode "bloquant" et le "non bloquant". As-tu déjà rencontré ce genre de trucs ? Je n'ai jamais réussi à trouver d'où ça vient...

Sinon, comme dirait japee: "ça compile chez toi ?"
Delphi m'injurie que la variable de la boucle "for" doit être locale. En sachant que j'utilise TurboDelphi qui est une des dernières versions en date, je ne suis pas convaincu que ce soit possible.

@japee: en fait, les identificateurs accentués, c'est autorisé dans le Framework .net. Et comme depuis la version 8, Delphi supporte .net, borland a décidé, par souci de compatibilité d'accepter les accents (et tout autre caractère UTF-8 par ailleurs) dans le code.

Mais c'est vrai que c'est une pratique à déconseiller.

@rafalus: chez moi, ça compile sans problème avec "msg". Ce qu'il ne faut pas mettre, c'est "message" (encore qu'il semble accepté dans certains cas) car c'est un mot réservé du langage.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.