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

Développement Discussion :

Quel port utiliser ?


Sujet :

Développement

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Quel port utiliser ?
    Bien le bonjour.

    Je vous explique la situation dans laquelle je me trouve:

    Je souhaite programmer en C++ un petit programme réseau (utilisation des composants TClientSocket et TServerSocket). Cependant je me trouve devant un dilemne. Je transmets uniquement des chaînes de caractères. Pour une plus grande fiabilité et l'utilité du mode connecté, j'ai choisi le protocole TCP/IP. Cependant j'ai besoin d'un port pour communiquer. J'ai fait donc mes petites recherches et je suis donc arrivé dans les différentes RFC tels que la RFC1700 sur les Assignements de Port que voici:

    http://www.faqs.org/rfcs/rfc1700.html

    J'ai donc feuilleté ce document sans vraiment trouver de réponses. Je me suis donc tourner sur les tutoriaux réseau ici, et plus précisement celui en Delphi avec les composants que je vais utiliser moi-même. J'ai donc télécharger les sources et j'ai ouvert le fichier *.dfm (qui permet de savoir les paramètres des objets crées). Je remarque donc ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      
    object Client: TClientSocket
        Active = False
        ClientType = ctNonBlocking
        Port = 6667
        OnConnect = ClientConnect
        OnDisconnect = ClientDisconnect
        OnRead = ClientRead
        OnError = ClientError
        Left = 536
        Top = 152
    Le port donc utilisé est le 6667. En lien avec ceci voici ce que l'iana me spécifie sur le port 6667 :

    ircu 6665-6669/tcp IRCU
    Je me suis donc interoggé sur ce que signifiait IRCu et j'ai donc voir que l'IRCu était un serveur IRC.

    Serait-il possible que quelqu'un m'explique plus précisement ce que je peux utiliser et ce que je ne peux pas utiliser pour un programme perso.

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Tu utilises le port que tu veux!!!
    C'est normalement seulement le port d'écoute que tu spécifie.
    Ceci signifie que normalement, uns fois la communication établie, la communication se passe sur un autre port.
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse.

    J'ai retrouvé par hasard une feuille concernant des ports TCP sous une pile de documents volants (pas cool ca ^^) et voilà les informations qu'ils me spécifient:
    -Des valeurs normalisées comprises entre 0 à 1023 donnent accès aux serveux:

    23 --> telnet
    21 --> ftp
    25 --> smtp
    80 --> http

    -Le client attribue dynamiquement les numéros de port dans l'espace 49152 et 65535

    -Autre espace défini: 1024 à 49151 Registered Ports
    Lisant ça, j'en conclus que:
    -les ports de 0 à 1023 sont reservés pour les accès serveur donc inutilisable
    -les ports de 1024 à 49151 sont également inutilisable vu que ce sont des ports déjà enregistrés.
    -les ports de 49152 à 65535 est utilisable vu que c'est le client qui attribue ces ports.

    Es-ce que mon raisonnement est faux où malgré que tout les ports soient théoriquement utilisable, il est préférable en pratique de choisir un port entre 49152 et 65535 ?

    Merci déjà de vos réponses

  4. #4
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Citation Envoyé par Dave48
    Merci de ta réponse.

    J'ai retrouvé par hasard une feuille concernant des ports TCP sous une pile de documents volants (pas cool ca ^^) et voilà les informations qu'ils me spécifient:


    Lisant ça, j'en conclus que:
    -les ports de 0 à 1023 sont reservés pour les accès serveur donc inutilisable
    -les ports de 1024 à 49151 sont également inutilisable vu que ce sont des ports déjà enregistrés.
    -les ports de 49152 à 65535 est utilisable vu que c'est le client qui attribue ces ports.

    Es-ce que mon raisonnement est faux où malgré que tout les ports soient théoriquement utilisable, il est préférable en pratique de choisir un port entre 49152 et 65535 ?

    Merci déjà de vos réponses
    Comme on te l'a dit, tu utilise le port que tu veux...
    En fait le port que tu choisis n'a d'effet que du côté serveur... Il faut impérativement que le port que tu choisis ne soit pas déjà utilisé chez le serveur (par exemple, deux applications sur le port 80, HTTP)... Du côté client tu fais ce que tu veux, il n'y a pas de problème.
    Sinon ta liste est correcte mais l'interprétation pas forcémment.
    Pour le premier rang (0 à 1023), ce sont les ports les plus communs... Des serveurs comme le FTP, le SMTP (mails envoyés), le POP (mails reçus), le HTTP(...) utilisent ces ports et il y a donc beaucoup de chance qu'un serveur déjà installé sur la machine utilise un de ces ports... Ces ports sont déconseillés.
    Le deuxième rang est celui des ports moins "officiels" mais qui peuvent être enregistrés (ce qui ne t'empêche pas de les utiliser, c'est juste qu'il se pourrait qu'il y ait une collision)... Beaucoup d'applications comme mIRC, des jeux comme DAoC ou World of Warcraft, utilisent ces ports et les enregistrent... Mais énormément de ports ne sont pas officiellement enregistrés et la chance de collision est nettement moindre... Personellement j'utilise quasiment toujours un de ces ports...
    Le troisième rang est celui des ports éphémères, c'est à dire pour des applications qui ne veulent pas rentrer en contact et qui ne seront pas lancés en boucle sur le serveur...

    Voici la liste sur Wikipédia (en anglais mais très bien fait) :
    http://en.wikipedia.org/wiki/List_of...28computing%29

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Ben je suis totalement comblé par cette réponse

    Merci beaucoup de votre aide c'est super.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Wamp] Utiliser Wamp avec n'importe quel port
    Par quentiin dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 11
    Dernier message: 27/01/2010, 12h46
  2. quels ports utilise panda ?
    Par charlix dans le forum Hardware
    Réponses: 3
    Dernier message: 19/09/2007, 16h44
  3. [Debutant(e)]Quel composant utiliser pour faire une grille
    Par elitost dans le forum Composants
    Réponses: 7
    Dernier message: 21/06/2004, 20h44
  4. Réponses: 3
    Dernier message: 27/08/2003, 21h14
  5. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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