Trouver un port libre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 664 fois - Téléchargée 27 fois

Contenu du snippet

Cette source sans prétention permet de trouver un port local libre sur l'ordinateur, afin par exemple de créer un serveur en local.

Source / Exemple :


Private Function FindFreePort(Optional Start As Integer = 8080) As Integer

SeekPort:

    On Error GoTo Up
    Winsock1.LocalPort = Start
    Winsock1.Listen
    Winsock1.Close

    FindFreePort = Start
    Exit Function
    
Up:

    On Error Resume Next
    Winsock1.Close
    Start = Start + 1
    GoTo SeekPort

End Function

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
lundi 2 février 2004
Statut
Membre
Dernière intervention
24 mars 2004

On le met dans un module ton truc ????? Merci d'avance
Messages postés
38
Date d'inscription
jeudi 27 juin 2002
Statut
Membre
Dernière intervention
27 février 2006

La réponse est simple :
J'ai vu l'utilité de ce code lorsque j'ai souhaité faire un programme étant capable d'afficher des pages PHP. J'ai donc réalisé en Visual Basic un serveur supportant le PHP pour servir les pages prévues pour cette application. Dans ce cas, je n'ai nul besoin de me soucier des clients, étant donné que c'est le programme qui se connecte au serveur (un EXE séparé), il suffit donc qu'il sache quel est le port du serveur, et c'est réglé. J'avoue malgré tout que l'utilité de ce code est limitée.
Messages postés
222
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
30 juin 2008

Ha pi une question : quelle est l'utilitée de ce code car comment veux tu qu'un client se connecte à toi si ton port vari?
Messages postés
222
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
30 juin 2008

Ha pi une question : quelle est l'utilitée de ce code car comment veux tu qu'un client se connecte à toi si ton port vari?
Messages postés
222
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
30 juin 2008

NON. J'aime pas ça. c pas beau un goto. j'ai pluz simple :
<
Function FindPort(Start as integer) as integer
on error resume next
for i = start to 65000
winsock1.localport=i
winsock1.listen
if winsock1.state = 2 then FindPort=i:exit for
winsock1.close
'Doevents <- je suis pas sûr que c'est nécéssaire
next
end function
>

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.