NiTrOuS Posté(e) le 17 mars 2006 Partager Posté(e) le 17 mars 2006 Bonjour, voilà je dois faire un programme en VB.NET et ASP.NET qui permet de savoir si une machine est connectée sur le réseau (par son ip), de connaitre le nom de la machine et la mac adresse. Tout ca doit etre faire sur une liste d adresse IP (quelques centaines) Ma solution a été de faire un fichier batch avec les commandes a executer (ping et nbtstat) et de renvoyer le tout dans un fichier texte. Je crée donc: - un fichier batch appelé 'ping' avec toutes les commandes ping renvoyant le résultat dans un fichier 'ping.txt' - un fichier batch appelé 'nbtstat' avec toutes les commandes nbtstat renvoyant le résultat dans un fichier 'nbtstat.txt' Je traite apres les deux fichiers textes pour en extraire les données dont j ai besoin. Tout marche très bien, mais il y a un mais, c est que c est très lent. En effet, le ping est paramétrable (le nombre de packet et le temps d attente) mais pas le nbtstat. Je ne vois pas comment faire autrement, pour que ca soit beaucoup plus rapide. Si vous avez une idée ... Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
NiTrOuS Posté(e) le 17 mars 2006 Auteur Partager Posté(e) le 17 mars 2006 Bonjour, j'ai besoin de décomposer une adresse IP en 4 parties. Donc imaginons que j'ai l'adresse IP suivante, stockée dans un string: 192.168.10.1 Je veux récupérer 4 string: 192 168 10 1 Comment puis je faire cela en vb.net ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sentinel Posté(e) le 17 mars 2006 Partager Posté(e) le 17 mars 2006 Pour décomposer l'IP, y'a pas une bête fonction split en VB ? Ou un quelconque tokenizer ? [Note : j'ai combiné les 2 topics.] Lien vers le commentaire Partager sur d’autres sites More sharing options...
NiTrOuS Posté(e) le 17 mars 2006 Auteur Partager Posté(e) le 17 mars 2006 Si pour l'up j ai trouvé Mais pour la premiere partie de mon programme ? Bon ce que j'ai fait, c 'est une boucle qui me crée un fichier batch différent pour chaque ip et qui me renvois dans un fichier texte ping et nbtstat different a chaque fois. Par exemple, pour l'IP 10.100.10.1 j'ai: - Fichier ping10100101.bat - Fichier ping10100101.txt - Fichier nbtstat10100101.bat - Fichier nbtstat10100101.txt Maintenant, j'ai donc tous mes fichiers textes (une quarantaine). Je voudrais traiter le résultat et tout mettre dans un fichier rapport.txt Mais je ne sais pas comment faire. Lien vers le commentaire Partager sur d’autres sites More sharing options...
NiTrOuS Posté(e) le 17 mars 2006 Auteur Partager Posté(e) le 17 mars 2006 Bon j'arrive a avoir les résultats pour la commande ping. Je suis content, j'ai sensiblement amélioré la rapidité de mon programme. En effet, avant, pour pinger une plage d adresses ip (255 adresses), il me fallait 255 * 2 secondes soit 8 minutes et demie. Maintenant, il me faut 10 secondes exactement, et c est moi qui ai défini le temps d'attente, je pourrais le réduire a 5 secondes si je voulais mais je préfère jouer sur la fiabilité plutot que sur la rapidité. La suite, c est récupérer le nom de la machine et sa mac adresse ... il suffit de poursuivre mon principe et tout ira bien. Par contre, je crée un grand nombre de fichiers que je place dans un dossier. Connaissez vous le moyen de vider un dossier de ses fichiers en vb.net ??? PS: si ma fonction vous interesse (ping et nbtstat) vous me faites signe hein ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sentinel Posté(e) le 17 mars 2006 Partager Posté(e) le 17 mars 2006 Je suppose qu'il suffit de lister tous les fichiers d'un dossier, et d'appeler la fonction de suppression sur chacun des fichiers ? Ou alors appeler ("exec") un petit del *.* sur le dossier ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
NiTrOuS Posté(e) le 17 mars 2006 Auteur Partager Posté(e) le 17 mars 2006 J'ai utilisé la fonction kill("c:\mondossier/*.*") et ca marche :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sentinel Posté(e) le 17 mars 2006 Partager Posté(e) le 17 mars 2006 Ou y'a d'autres questions ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 17 mars 2006 Partager Posté(e) le 17 mars 2006 NiTrOuS : Tu n'est pas un nouveau sur ce forum. Tu devrait savoir qu'on met un titre explicite (et pas que sur ce forum d'ailleurs). Au moins le langage utilisé et un résumé du problème... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.