Indy

Résolu
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 - 9 nov. 2004 à 16:33
ewertheimer Messages postés 161 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 26 janvier 2009 - 24 juin 2005 à 21:08
Bonjour,

Je débute dans le vaste domaine qu'est l'Internet et, j'ai besoin, pour mon application, d'echanger des records entre, non pas un serveur et un client, mais entre deux clients.
J'aimerais utiliser le TIdTCPClient mais il n'y a pas d'évenement lorqu'on recoit des donées.
Et avec le TIdTCPServer, on ne peut evidemment pas se connecter à un ordinateur spécifique.

Auriez-vous une solution, svp ???

PS : J'aimerai utiliser, autant que possible, les composants Indy, et la norme TCP.

Merci d'avance ...

Florent

Si tu ne te plantes pas ......
tu ne poussera jamais

6 réponses

jinh68 Messages postés 215 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 1 septembre 2006
9 nov. 2004 à 16:47
Tu seras obligé d'établir une application client-serveur, surtout dans le cas d'une connexion TCP(mode orienté connexion).

Donc tu devras utiliser le IdTCPServer et le IDTCPClient pour chacun des deux clients et désactiver l'un ou l'autre suivant l'utilisation.

j!nH
3
jinh68 Messages postés 215 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 1 septembre 2006
9 nov. 2004 à 16:59
Oui juste déconnecter, mais tu n'as même pas besoin si tu utilises des ports différents.

Donc si l'un envoit pendant deux minutes, tu n'aura pas besoin de couper le client de l'autre.

Mais fais attention les composants Indy sont bloquants....

Dis nous sinon exactement ce que tu veux faire, cela permettra de trouver la meilleure soluce, sinon tu risques d'en pâtir question performances.

j!nH
3
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
9 nov. 2004 à 16:35
J'oubliais : Le client1 doit pouvoir envoyer au client2 qui recevra et vice-versa jusqu'a que l'un se déconnecte ce qui devras entrainer la deconnection de l'autre.

Merci d'avance.
Florent
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
9 nov. 2004 à 16:53
Ah c'est pas malin tout ça ...

Merci jinh68 pour ta reponse aussi rapide.

Mais , au fait, désactiver, cela veut dire déconnecter ou j'ai pas tout compris ...

Mais il reste un probleme : ce n'est pas simultanément l'un et l'autre qui envoie : l'un peut envoyer pendant 2min et l'autre attendre comme cela.
Il faudrait que je dise au seveur comme quoi le client a fini, qu'il peut désactier son serveur et démarrer son client ??

Merci
Florent

Si tu ne te plantes pas ......
tu ne poussera jamais
0

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

Posez votre question
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
9 nov. 2004 à 17:12
Non, j ecrois meilleur d'utiliser le même port.

Ce que je veut faire : c'est simple (je débute)
Il faut deux applications(les memes) puissent se communiquer via Internet.

Pour cela, j'utiliserais la norme TCP, et chaque application envoie un buffer (avec WriteBuffer() je suppose) qui est de type array of char et non record comme je l'ai dit précedement.
L'aplication qui recoit traite le record comme suit :
- Les 2 premiers caracteres sont le type de donnée (son, image, texte)
- Les suivants sont les données.

Mais le probleme vient de la transmission des données, pas de leur traitement une fois arrivés.

Voila, c'est à peu près tout ...
Encore merci.

Florent
Si tu ne te plantes pas ......
tu ne poussera jamais
0
ewertheimer Messages postés 161 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 26 janvier 2009
24 juin 2005 à 21:08
Va voir dans les faqs de developpez.com :

http://delphi.developpez.com/faq/

Dans la partie indy Client/Serveur il y a un tuto sur le transfert de record
0
Rejoignez-nous