PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 8 sept. 2006 à 19:15
salut,
NB : je ne touche pas à DotNet
le ping par lui-même prend déjà un certain temps.
par contre ouai... je suppose qu'il est possible de faire tourner les 255 requêtes (on va dire çà comme çà) en même temps, donc avec 255 threads.
à savoir que je n'ai aucune idée s'il est possible d'en lancer tant à la fois.
un thread... c'est le fait de pouvoir faire tourner un morceau de ton appli (une procédure) en même temps que le reste.
en VB6 on ne peut pas (ou presque).
exemple :
Private Sub Form_Load()
Me.Show
Call Proc1
Call Proc2
End Sub
'
Sub Proc1()
Dim i As Long
For i = 0 To 150000
DoEvents
Me.Caption = "compteur = " & i
Next i
End Sub
'
Sub Proc2()
Dim i As Long
For i = 0 To 150000
DoEvents
Label1.Caption "autre compteur en label = " & i
Next i
End Sub
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 8 sept. 2006 à 21:12
Salut,
Voici un test sur 1 ping sur 5 adresses différentes (fais sous vb2005). Chaque ping s'éxecute dans un thread à part
Essais cet exemple en créant simplement une application console et met un point d'arret sur le Console.WriteLine("Fini")
Essais avec tes 255 adresses (je sais y a un peu de boulot pour remplir tes adresses à pinger) mais je te garantis que tu mettra surement moins de 6 minutes.
Change également à la fin la durée de Sleep(5000) met plutot 300000
Dim thProcs(4) As Threading.Thread
Dim coladdress As New List(Of String)(New String() {"www.vbfrance.com", "www.codeproject.com", "www.microsoft.fr", _
"www.hotmail.fr", www.google.fr})
For
i As Integer = 0 To coladdress.Count - 1
Console.WriteLine(i.ToString & ")" & coladdress(i))