17. maj 2006 - 21:48Der er
15 kommentarer og 1 løsning
Gemme resultatet fra en ping i .Net 1.0
Hej Eksperter! Jeg har følgende kode, men kan ikke lige gennemskue hvordan jeg gemmer resultatet fra ping'en i en streng, så jeg kan teste om PC'en er oppe.
ProcessStartInfo NewThread = new ProcessStartInfo(@"ping","192.168.1.3); Process.Start(NewThread);
Jamen nu virker det jo! Kanon!Men så kommer det næste problem: jeg laver en ny tråd for hver host jeg vil pinge. Hvordan får jeg samlet alle mine ping replys så jeg kan vise dem i min Main class? Jeg skal nok lige tilføje nogle flere points.
Der var faktisk et par små hovsaer i at få det til at virke !
Men følgende virker (jeg har lavet det lidt anderledes end dig men du kan se teknikken):
using System; using System.Diagnostics; using System.IO; using System.Threading;
namespace E { public class MainClass { private const int NHOST = 256; public static void Main(string[] args) { Pinger[] p = new Pinger[NHOST]; Thread[] t = new Thread[NHOST]; for(int i = 0; i < NHOST; i++) { p[i] = new Pinger(i); t[i] = new Thread(new ThreadStart(p[i].Run)); t[i].Start(); } for(int i = 0; i < NHOST; i++) { t[i].Join(); Console.WriteLine(p[i].Res); } } } public class Pinger { private int no; private string res; public Pinger(int no) { this.no = no; res = ""; } public void Run() { ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "ping"; psi.Arguments = "192.168.0." + no; psi.CreateNoWindow = true; psi.UseShellExecute = false; psi.RedirectStandardOutput = true; Process p = Process.Start(psi); StreamReader sr = p.StandardOutput; string line; while((line = sr.ReadLine()) != null) { res += line; } sr.Close(); p.Close(); } public string Res { get { return res; } } } }
Så fik jeg endelig tid til at kigge på din kode og det passer jo som fod i hose eller som Hans i Grete, eller hva man nu siger. :) Tak for hjælpen!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.