Test de ports

Résolu
cs_keisuke Messages postés 60 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 14 janvier 2009 - 18 mars 2006 à 22:10
gyzmo222 Messages postés 66 Date d'inscription lundi 27 juin 2005 Statut Membre Dernière intervention 2 juin 2006 - 20 mars 2006 à 10:11
Salut a tous,
voila je voudrais faire un programe qui
test si sur un server(le mien), j'ai bien les ports 21;80; et autres, d'ouvert.
Mais pour sa je ne sais pas comment m'y prendre , donc je fais appel a vous.

Il faudrait que sa fasse un truc comme sa:


Code:,
----

if(connecté sur le 80)
{
label1.Text = "Le port
80 (server web) est ouvert";
}
else
{
label1.Text = "Le port
80 (server web) est fermé";
}

voila un exemple de ce que je voudrais que sa donne a la
fin , mais je ne sais pas regardé si le port "intel" est ouvert ou pas.

D'avance merci

@+

The
Takahashi Keisuke

3 réponses

cs_keisuke Messages postés 60 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 14 janvier 2009
19 mars 2006 à 17:41
merci, c'est bon, j'ai quasiment réussi. Sa donne ça:


Code : C#




try


{


Socket socks = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);


socks.Connect( new IPEndPoint (Dns.Resolve ("192.168.220.1").AddressList[0], 80));


if(socks.Connected == true)


{


label1.Text = "Port 80 ouvert";


}


else


{


label1.Text = "Port 80 Fermé";


}


}


catch(Exception ex)


{


label1.Text = ex.Message;


}






voila mais maintenant le problem c'est que la réponse est très lente a arrivé !!!


Merci a ceux qui pourront m'aidé.


@+





The Takahashi Keisuke
bernie666 Messages postés 427 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 29 janvier 2008 1
19 mars 2006 à 14:26
euh ... j'ai jamais fait mais peut être qu'il est possible que tu utilises la commande netstat et que tu rediriges le resultat dans ton application ..

++
gyzmo222 Messages postés 66 Date d'inscription lundi 27 juin 2005 Statut Membre Dernière intervention 2 juin 2006 1
20 mars 2006 à 10:11
Salut,
Je n'ai jamais essayé mais peut-être pourrais tu tenter d'envoyer des données au lieu d'attendre que la connection envoie sa réponse... Il y a la possibilité de définir un message d'erreur à l'envoi.

http://morpheus.developpez.com/reseaucsharp/#L2.3.1

ou jouer avec des threads et faire ta connection dans un thread pour diminuer le temps de latence qu'un seul thread produirait... un petit test sur la continuité du thread pourrait t'indiquer si ta connection est faite : Thread.CurrentThread.IsAlive

http://emerica.developpez.com/csharp/threads/

Je vais dire... Il y a beaucoup de choses à tester niveau réseau, la latence ne vient peut-être pas de ton code mais d'un firewall ou routeur...

Bonne continuation
Rejoignez-nous