Comment trouver un port libre avec un controle Winsock ?
Comment trouver un port libre avec un controle Winsock ?
Une méthode pas très "jolie" mais qui fonctionne : lorsque Winsock tente d'ouvrir un port déjà utilisé, il génère une erreur donc :
- erreur à l'ouverture => port utilisé
- pas d'erreur à l'ouverture => port libre
Je commence à chercher les ports à partir de 1500
j'y ai déjà pensé, mais ça craint un peu comme solution. D'autant plus que parfois, le statut du port peut être "closed", "closing", "not available", etc. On pourrait dire: "pas d'errurt, alors j'ay vais", mais ça ne m'explique pas pourquoi ce comportement.
bah, faire une capture d'erreur n'est pas forcément une mauvaise méthode, on y est souvent contraint sous VB ...
si c'est un client, mettre localport a 0 revient a le laisser se débrouiller pour trouver un port de libre lorsqu'il en a besoin ...
maintenant si c'est un serveur, c'est un peu au petit bonheur la chance ...
bhaal76
Partager