Je voudrais que mon application ne fasse rien jusqu'à temps qu'un port TCP précis soit libéré.
voici le code que j'ai utilisé :
Le port en question est ouvert par une autre application (je n'ai pas le code de cette application en question).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 System.Net.IPEndPoint t = new IPEndPoint(System.Net.Dns.Resolve(Dns.GetHostName()).AddressList[0], 5070); Socket g = new Socket(t.AddressFamily, SocketType.Stream, ProtocolType.Tcp); g.Bind(t); while(g.Connected) { System.Threading.Thread.Sleep(5000); }
J'ai fait des recherche à l'aide deet je suis désespéré de voir que très peut de page traite du sujet (alors qu'il y en a tout plein pour les autres langages) à croire qu'en c# on ouvre pas les ports sois même
.
Sur le forum c# je n'ai pas trouvé grand chose à l'aide de la recherche.
L'équivalent d'un netstat devrait me suffir, d'ailleurs demain je vais voir si je peut récupérer la valeur retour d'un netstat, et dans ce cas je passerais par cela.
Partager