Progressbar + socket

cs_keisuke Messages postés 60 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 14 janvier 2009 - 19 mars 2006 à 13:48
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 - 21 mars 2006 à 10:11
Salut a tous,
Voila, j'ai pas mal regardé sur le site tous ce qui concerne les progressbar, mais je n'ai pas trouvé de solution a mon problem(je prècise je suis débutant.).
1) Alors j'ai un programme qui se connect a une ip et test les ports, par exemple:
192.168.220.1 : 80
et pendant qu'il fait son test je voudrais que ma progressbar augmente selon l'avancement du test. Et je n'est pas trouvé comment faire.
Pour faire les test de ports j'utilise les "socket".

2) Et j'ai un problem aussi au niveau du temps que met la connection a s'établir.
A la fin du test il me dis si le port est ouvert ou pas:

Code:
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 ouvert";
}
else
{
label1.Text = "Port fermé";
}
}
catch(Exception ex)
{
label1.Text = ex.Message;
}

Déja j'aimerais que vous jeté un coup d'oeil au programme voir si je m'y prend bien, mais aussi me dire comment sa peut aller plus vite en rajoutant une option.

Merci d'avance a tous ceux qui liront et m'aiderons a résoudre mes problems.
@+

The Takahashi Keisuke

2 réponses

sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
21 mars 2006 à 10:10
voici comment tu peux faire pour ta ProgressBar :

private const int MIN_PORT = 30;
private const int MAX_PORT = 4000;

...
// init de la progressbar
prgScanState.Minimum = MIN_PORT;
prgScanState.Maximum = MAX_PORT;
...

for (int i < MIN_PORT; i < MAX_PORT; i++)
{
bool port_state = TestPort(i);
if (port_state == true)
bidule();
else
trucchouse();
prgScanState.Value = i;
}

ensuite ta fonction TestPort prend en parametre un port a tester, et renvoie true ou false en fonction de l'etat de la connexion.
pour ton probleme de temps, il faudrait que tu puisse regler le timeout de Connect, mais je n'ai jamais essayer de la faire, mais je ne doute pas que quelqu'un de tres competent sur ce site poura t'aider.

bon courage
0
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
21 mars 2006 à 10:11
for (int i = MIN_PORT; ...

au temps pour moi
0
Rejoignez-nous