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 :

Vérifier si un port tcp est ouvert


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut Vérifier si un port tcp est ouvert
    salut

    avant de poster, j'ai fais une recherche sur le forum et les seuls réponses que j'ai trouvé avait pour but principal de tester des connexions avec un composant socket ...

    j'aimerais savoir s'il y a moyen sans passer par un composant client_socket

    sans avoir non plus coder un scanner de port

    c'est pour ma machine donc, pas de firewall, rien qui pourrait bloquer

    le but est de tester du port 3000 à 3050 le 1er qui est ouvert, pour pouvoir l'utiliser

    l'application sera utiliser plusieurs fois à plusieurs moment et donc il me faudra ouvrir d'autres ports (que ceux que j'ai déjà ouvert)

    merci

  2. #2
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    En quoi ça te dérange l'utilisation d'un clientsocket ?
    ça sert à ça !
    Sinon tu peux surement passer par une commande DOS style :
    >telnet <IPAdress> <Numero du port>

  3. #3
    Membre très actif
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Par défaut
    Ou nmap pour quelquechose de plus sofisticated !

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut
    la méthode avec un compo socket risque de prendre du temps non ?

    ce que je veux faire c'est ouvrir un port sur le pc, sauf que le port en question est peut être déjà ouvert par un autre socket

    c'est pourquoi je veux un truc simple, rapide, et efficace surtout, car je ne dois pas prendre un port déjà utilisé

  5. #5
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    Tu veux dire prendre du temps en dev ou en temps machine ?
    Si c'est en dev...regarde chez ICS c'est simple à implémenter avec plein d'exemples.
    http://www.overbyte.be/frame_index.h...ducts/ics.html
    Si c'est du temps machine je vois pas pourquoi.

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 933
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 933
    Par défaut
    Prendre beaucoup de temps sur LocalHost, je ne pense pas.
    Maintenant, pourquoi ne pas essayer d'ouvrir simplement le premier et en cas d'échec passer au suivant. Le test serait implicite.

    Edit:
    Salut Phil

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut
    oui finalement, j'ai opté pour votre idée, en essaynt d'ouvrir et d'attendre l'évènement "on error"

    Citation Envoyé par Andnotor Voir le message
    Prendre beaucoup de temps sur LocalHost, je ne pense pas.
    Maintenant, pourquoi ne pas essayer d'ouvrir simplement le premier et en cas d'échec passer au suivant. Le test serait implicite.
    wai c cool

    quand le port est déjà ouvert, l'évènement "on error" se déclenche donc je passe au port suivant, mais quand rien ne se déclenche ? (car il n'y a pas d'évènement "on ok" lol) je fais comment pour connaitre le bon port ?

    la seule solution que j'ai trouvé pour le moment, c'est de lancer un timer à 5 seconde; s'il y a error le timer se coupe, si le timer n'est jamais coupé et donc que les 5 sec sont passé alors, on a trouvé le port libre ?

    ça fonctionne, mais je voulais savoir ce que vous en pensez, car peut être qu'il y a une solution plus propre ?

Discussions similaires

  1. Vérifier si un port est ouvert
    Par gronaze dans le forum Windows XP
    Réponses: 4
    Dernier message: 12/10/2011, 15h44
  2. Vérifier si un port donné est ouvert
    Par asnaeb dans le forum C#
    Réponses: 7
    Dernier message: 22/03/2011, 10h13
  3. Savoir si un Port TCP est utilisé
    Par Dan972 dans le forum C#
    Réponses: 4
    Dernier message: 31/07/2010, 22h50
  4. Vérifier si un fichier Excel est ouvert.. mais par cette session
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 16/05/2008, 11h28
  5. Tester si un port TCP est ouvert
    Par Melodie dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 03/03/2008, 09h06

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