Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Indy savoir le nombre de readln a faire ... [ Réseau & Internet / Client - Server ] (cyber37)

samedi 26 avril 2008 à 09:36:25 | Indy savoir le nombre de readln a faire ...

cyber37

Salut a tous,
Je suis en train de refaire un programme en se moment mais je suis un peut embetter, je doit utiliser un socket BLOQUANT (obliger), j'ai donc utiliser indy, en faite sa me permetras de gerer un serveur de jeux a distance, la pluspar des commandes sonts faites car ces commandes une fois envoiller (donc writeln) necessitent 1 seul readln ... maintenant j'ai d'autres commandes un peut plus embettantes auxquelles je ne peut pas savoir combient de ligne le serveur renveras donc combient de readln je devrais faire ... meme apres avoir poser le composants de la palette indy pour pas bloquer les aplications je suis embetter puisque quand on stope le programme sa provoque 5 erreurs ...
Car si je fait 1 readln en trop sa rame bien plus !

Donc je voulais savoir si il y a une commande pour savoir le nombre de ligne que le serveur a envoiller avant de faire un readln (si yen a trois par exemple, ma procedure feras 3 readln ...) j'ai deja essailler de faire avec le reglages "connexion time out" de indy client TCP mais sa provoque un message "connexion time out"  mais au moin sa amrche mais voila ya un message ...

Donc voila,
Cordialement cyber37
@+
Et merci.

samedi 26 avril 2008 à 11:56:19 | Re : Indy savoir le nombre de readln a faire ...

OcHre

Réponse acceptée !
Salut,
si tu veux éviter l'apparition de messages d'erreur pense à utiliser les bloques

try
...
except
...
finally

qui te permettront de réagir (ou pas) suivant les erreurs générées. Sinon une solution envisageable est tout simplement d'envoyer le nombre de lignes à lire avant de les envoyer. Enfin juste une remarque, les composants indy étants bloquants font toujours plus ou moins ramer l'application cliente donc si tu veux les implémenter pour un jeu tu as, à mon avis, tout interet à le faire dans un thread.

Rions un peu en attendant la mort.


samedi 26 avril 2008 à 13:25:38 | Re : Indy savoir le nombre de readln a faire ...

cyber37

En faite le serveur de jeux existe deja !  Et le jeu aussi dailleur c'est BF 2142 et oui en effet sa rame au debut quand toute mes procedures demandent les reponses genre une qui demande a combien est regler le feu amis, une autre demande a combien est regler le ... mais apres sa vas.

Merci de ta reponse, pour l'instant je vais la garder mais j'atted voir s'il y a d'autre reponses car toi ta reponse me vas mais sa vas juste "cacher le message d'erreur" par exemple. Pour l'instant j'attend voir s'il y a d'autres reponses et s'il n'y en a pas je ferais a ta fason.  En gros je ferais le systeme avec le readtimeout et avec ton code sa n'afficheras pas le message "connexion time out" .. .
Si non merci de ta reponse, PS j'ai trouver sa sur le net :

   1. while not FTerminated do
   2.       begin
   3.          tmp := FTCP.ReadLn('', 5);
   4.          application.processmessages;
   5.          if tmp <> '' then
   6.             begin
   7.                do_dbg (tmp);
   8.                // mettre ici votre code
   9.             end;
  10.
  11.       end;

mais a parement sa c'est pas pour indy, en faite se bout de code il est bien le seul probleme c'est de savoir si il y a la fonction "Terminated" avec le client TCP indy :-)
Je vasi essailler de voir d'ailleur, ou alors s'il y a un equivalent

samedi 26 avril 2008 à 14:23:35 | Re : Indy savoir le nombre de readln a faire ...

OcHre

Réponse acceptée !
Désolé je n'avais pas compris que le serveur existait déjà, puisque tu es assujetti à un protocole la solution la plus fluide reste à mon avis la création de ton client dans un thread, si tu n'as jamais utilisé les threads il y a un trés bon tutorial sur ce site:

http://www.delphifr.com/tutorial.aspx?id=231

L'utilisation de threads peut paraître un peu déroutante au début mais est à mon avis indispensable quand tu utilises les composants indy et à plus forte raison si tu ne maîtrise pas la structure des paquets. Pour ce qui est de Try..Except..Finally rien ne t'empeches de gérer les erreurs et de réagir en fonction de celles-ci.

Rions un peu en attendant la mort.


dimanche 27 avril 2008 à 12:41:18 | Re : Indy savoir le nombre de readln a faire ...

cyber37

Merci beaucoup, topic clos :-),
En effet je n'avais jamais utiliser les theards, mais en revanche "try except et finally" oui.

Au revoir et merci beaucoup.



Cette discussion est classé dans : nombre, serveur, commandes, indy, readln


Répondre à ce message

Sujets en rapport avec ce message

Connaitre le Nombre de clients connectés à un serveur Indy [ par Gerard ] Quel est la propriété qui permet de connaître le nombre de clients ou de threads qui relèvent d'un serveur Indy?Je n'ai pas réussi à le trouver dans l besoin d'aide TCP indy 10 [ par Nero` ] Bonsoir à tous et toutes.J'ai un petit soucis avec les composants TCP de indy 10. j'explique:Je réalise un petit client avec le compo idtcpclient. J'e Fonctionnement du Client Serveur avec les composants Indy [ par th3r1ddl3r ] Bonjour,je n'arrive pas à faire fonctionner les composants Indy IdTcpClient et IdTCPServer , impossible de me connecter à mon serveur. Peut on m'expli utilisation de tidtcpclient et tidtcpserver avec indy 10 et delphi 2005 [ par Mouffi ] Bonjour, j'ai rencontrés plusieurs problèmes lorsque je veux faire un client/serveur TCP avec les  derniers composants indy. Voici un extrait de mon c [Indy] Composant TIdPop3Server [ par baloo151 ] Bonjour,Je cherche à réaliser un simple serveur POP3 à partir du programme de démo fourni avec Indy.Je n'arrive pas à faire fonctionner la commande po Ftp avec Indy [ par stailer ] Salut tout le monde,Je suis en train de faire un mini client ftp et j'ai un petit souci avec le composant indy tidftp.dans une boucle je liste chacun comment créé une com. entre serveur/client avec indy [ par bisousnours13 ] venez a mon aidecomment je dois my prendre pour créé un serveur/client tcp avec les composent indyidTCPclient  et   idTCPservermerci Chat Client/serveur avec Compoisants Indy [ par leobaillard ] Bonjour, je suis assez novice en delphi et je fais un chat avec les indy en delphi 7. Mais il y a un problème. Je n'arrive pas à récupérer (dans un mé Indy Client/server [ par khaledr ] Salut Tous Le monde ; Voila je suis en train de faire un programme pour géré mon Cybercafé ,,,,,,,,,,,ya plusieurs  programmes gratuit ,mais je veux TIdTCPServer indy 9 [ par templeofboom ] Bonjour dans le cadre du dev d'une petite appli client server je voudrai pouvoir activer mon serveur puis, pouvoir le désactiver et le relancer sur u


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.