IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Recevoir données TCP/UDP par plusieurs ports, les retransmettre par un seul


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 19
    Points
    19
    Par défaut Recevoir données TCP/UDP par plusieurs ports, les retransmettre par un seul
    Salut,
    il faudrait que je fasse quelque chose d'assez particulier.
    Je reçois des données sur un port x en TCP et sur deux ports y et z en UDP. J'aimerais que ces données soit envoyées à un autre ordinateur, par un autre port w en TCP ou UDP. Le programme s'exécutant sur l'ordinateur distant devra être capable de décoder les données arrivant par son port w afin de les retransmettre sur ses propres ports x, y et z.

    Je sais pas si j'ai été bien clair lol.

    Donc voila un petit schéma :



    Je n'ai aucune idée pour faire ce système, donc j'aimerais quelques petites pistes. Utiliser Indy ? ICS ? Sockets ?

    Mais aussi est-ce que ce système ne va pas ralentir la transmition des données ?

    Merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    C'est possiblen en effet. Avec Indy par exemple, tu crées tes sockets, tu définis un format de message qui permet de conserver le port original source et encapsule les données et tu l'envoie au PC b, qui fait exactement l'inverse. Il n'y a pas de raison que ca ne marche pas ;-)

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 19
    Points
    19
    Par défaut
    Merci et désolé de n'avoir pas répondu plus tôt, mais j'étais en famille cette semaine ^^ .
    Et sinon, comme c'est pour un jeu vidéo 3D, il faudrait une très grande rapidité de transmission, donc quelles libraires de composants dois-je privilégier ?

    De même, si j'utilise Indy, quels composants de Indy dois-je utiliser pour en capsuler ces données ?

    (J'ai aucune idée de comment faire en fait lol)

    Merci.

    Sans oublier : Bonne Année, Bonne Santé, et meilleurs voeux pour cette année 2007 !

    A+

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 19
    Points
    19
    Par défaut
    salut,
    c'est un petit up, car je n'ai toujours pas trouvé le moyen de faire ce système.

    Aidez-Moi !!! ^^

    Merci,
    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Points : 10
    Points
    10
    Par défaut Tunneling
    Hello,

    j'ai programmé en Delphi un logiciel de gestion et de traitement de données médicales dans le domaine pharmacologique.

    Bien que Delphi soit rapide (compilation, etc...), je me suis heurté à de nombreux problème dès qu'il s'agit de concevoir des serveurs multithreadés.

    L'organisation du code est, opinion personnelle, dure à gérer.

    Etant donné le système dont il est question, le multithreading semble inévitable, coté client, comme coté serveur/fédérateur.

    As tu déjà penssé te tourner vers un language tel que Java qui offre une productivité importante pour du code métier et une grande souplesse?

    Quand a l'architecture d'une telle application, elle n'est pas compliquée mais difficilement explicable en quelques lignes....

    On peut en discuter...

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 19
    Points
    19
    Par défaut
    Bonjour,
    L'avantage du Java c'est qu'il est portable, mais nécessite cependant plus de ressources car la JVM est necessaire. De plus peu de logiciels java que j'ai testé ne me conviennent, surtout dès qu'il s'agit de transmettre des informations. C'est certe, il me semble plus simple, mais cependant avec plus de bugs et de lags.
    Voila pourquoi mon choix c'est porté sur delphi (avec aussi la facilité d'utilisation et la certaine convivialitée ^^).
    Cependant ce n'est qu'un avis personel peut-être faussé car je ne connais pas assez bien le Java...


    Ce qui m'inquiete le plus n'est pas l'architecture, mais plutôt la mise en place et l'utilisation des sockets et du transferts de données, de façon presque instantanée.

    A+

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    Humpff,

    c'est, je dois dire, en effet ma seule crainte, mais elle sera bientôt levée:
    les sockets en Java sont ils suffisamment rapides ou bien faudrait-il s'appuyer sur une librairie en C avec un wrapper JNI (Java Native Interface qui permettrait de l'utiliser)?

    J'ai une version prototype à tester, dès que j'aurais trouvé une seconde personne ayant une console XBOX 360 et un jeu HALO2 lol

    voili voilou

  8. #8
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Selon moi, la réalisation d'un tel programme est simple avec Delphi. Il suffirait de programmer 3 threads clients et 3 serveurs (2 programmes) basés sur l'unité wSocket d'ICS, tu peux définir le protocol (TPC ou UDP) via la propriété Proto. Tu trouveras sur le site d'ICS une tonne de démos multithread qui pourront servir à débuter ton code, sans oublier que F.Piette propose un NewsGroup en français pour aider les développeurs... Avec Java, tu risques bien de galèrer, sans compter l'instabilité du langage et l'obligation d'installer le framework sur les machines... ce n'est vraiment valable que pour une utilisation multi-plateforme.

    http://wiki.overbyte.be/wiki/index.php/TWSocket
    http://www.elists.org/pipermail/twsocket/

  9. #9
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    @jt-tronix : C'est la suite de ce topic je suppose...

    http://developpez.net/forums/showthread.php?t=192781

  10. #10
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    Humpfff,

    je trouve que de se passer du monde Linux et des nombreux avantages qu'il offre en terme de coût est délicat. Linux étant plus stable....surtout sur de gros systèmes...

    Celà dit, Java est parfois instable (il arrive également que de concepts mal compris découle du code qui compile, mais qui est faux, Swing l'autorise largement d'ailleurs != instabilité) et le coté graphique n'est pas aisé à programmer (mais de nombreuses librairies graphiques émergent et progressent vite et facilitent les choses).

    Par contre entre faire du business avec Java et du business avec Delphi, je choisi Java pour la clareté du code, l'orientation objet imposée....tout une méthodologie qui évite de faire n'importe quoi, n'importe comment et de ne plus rien comprendre au code sur un gros projet.

    Netbeans est gratuit, complet, fiable, puissant, il implémente à lui seul toutes les fonctionnalités de l'IDE Delphi 8 et bien d'autres... + UML. Peut ton faire du reverse UML avec Delphi? (trés important, la clef de voute d'un projet, UML)

    Pour moi l'optique n'est pas de faire juste ce programme et rien d'autres, mais de m'asseoir sur les sous système établis pour en faire profiter d'autres services...

    Cette partie est une façette du produit, elle devrait s'inscrire à terme dans une architecture vaste de services cloisonnés mais communiquants si besoin...

    A titre d'info www.qnext.com est un projet qui ressemble à ce que j'aimerais faire, et il est en pure Java, et rapide...

    Delphi, Java, je ne sais pas....

  11. #11
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Selon moi, la principale différence entre ces 2 "langages" est que Java est une surcouche système, et donc, il n'offre pas autant de puissance que Delphi qui lui utilise DIRECTEMENT les ressources de l'ordinateur. Java est multi-plateforme alors que Delphi est principalement prévu pour fonctionner avec win32, .Net... On peut télécharger Delphi gratutement à partir du moment où l'on ne souhaite pas commercialiser ses programmes. Le choix entre Delphi et Java appartient au développeur.

  12. #12
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    On va faire le test en Java ce week end...voir si java est déjà assez rapide au niveau réseau pour ne pas avoir du lag dans le jeux.

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/03/2010, 18h16
  2. Reinitialiser les droits par défaut sur les dossiers de Linx
    Par digital prophecy dans le forum Administration système
    Réponses: 1
    Dernier message: 02/11/2009, 10h48
  3. Réponses: 8
    Dernier message: 24/08/2006, 13h47
  4. Trier les fichiers par type et les afficher par groupe ...
    Par KneXtasY dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 18/09/2005, 19h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo