Socket

Résolu
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011 - 25 juil. 2008 à 17:24
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011 - 26 juil. 2008 à 14:32
Salut tout le monde,
Quand j'envoie deux sendtext ils arrivent en même temps ! enfin sur la même ligne !

Socket.sendtext('cmdString1'); //l'envoi

Socket.sendtext('cmdString2');


la reception
recu := socket.recievetext;
if copy(recu,1,3) = 'cmd' then begin
memo1.lines.add(copy(recu,4,200));
recu = ''; // j'ai ajouté ca pour que ca se réinitialise !
end;

je voudrais bien que chaque envoi soit dans une ligne ! vu la vitesse d'execution ils vont en même temps et j'ai un résultat
pareil à 'String1cmdString2' !

la solution !
j'ai pensé a envoyer tout en même temps avec des délimiteurs genre (;) ou (:) mais aucune idée si c'est la bonne solution ou y'aurait peut être une meilleure !
si les délimiteurs sont la solution merci bien de me suggerer un algorithme, ca serait vraiment sympa !

Merci d'avance !

7 réponses

Utilisateur anonyme
25 juil. 2008 à 21:18
Salut,

Sympas ton screenshot mais je vois pas trop à quoi il correspond

Pour le Case of : arfff si j'ai parlé de chaines de caractères c'est pas sans raison

(string1|string2|..|string n)  : ben tu es libre de vivre ta vie : c'est la tienne apres tout . Tu peux utiliser autant de délimiteur que tu souhaites : le tout est de réaliser le traitement approprié pour séparer chaque String. C'est du classique : je te laisse chercher.

Oublie pas de valider la réponse si elle te convient
3
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
26 juil. 2008 à 13:12
Salut,

Allez !  Un indice :  Regarde la définition de PosEx dans l'Aide Delphi... 
3
Utilisateur anonyme
25 juil. 2008 à 18:43
Salut,

Un  délimitateur est la bonne solution : Délimitateur a utiliser  : "|". En effet il est peu utilisé.

Pour l'algo c'est simple :

Coté client :
Socket.sendtext('Param|MyString');

Coté serveur :
Suffit de découper le string recu et d'isoler le param ainsi que MyString.

Ensuite un "case param of"  (Voir developpez.com pour savoir le faire avec des chaines de caracteres) et lancer la procédure avec comme argument MyString en fonction de la valeur de Param.
0
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011
25 juil. 2008 à 18:48
Salut merci pour votre réponse,
en fait j'ai plusieurs chaines à envoyer, peux je utiliser (string1|string2|..|string n) ?
sinon comment récupérer chaque string ! merci je cherche plus d'informations sur "case string of" !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011
25 juil. 2008 à 19:05


0
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011
26 juil. 2008 à 13:36
merci bien tout les deux ! le screenshot est celui de Google Fight, j'avais dit délimiteur et toi délimitateur, alors j'ai cherché qu'est ce qui a le plus sur internet ! ^^

Merci encore une fois !
0
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011
26 juil. 2008 à 14:32
Bonjour,
Pour ceux que ça intéresserait !
Extrairemots( ); (Nouvelle Fenêtre)
J'ai utilisé cette procédure qu'on crée nous même ! elle existe pas sous Delphi ! sinon Posex, pas très pratique et en plus faut Delphi7+ or j'avais Delphi 2008 et j'ai craqué pour le 6 qui utilise moins de ressources !

Bien à vous,
0
Rejoignez-nous