ftp zugang timeout setzen mit falsche IP ausgabe...?
-
Hallo,
habe hier an einen ftp Zugang eine Datei abgelegt..
aber bei falscher IP kommt Fehlermeldung!
Würde gern mit time-out (catch) vorher schon eine Aktion setzen" falsche IP"....
aber wie ?
gruß
georg
private void FtP() { //Eine neue Datei erstellen und lokal speichern (Beispiel hier: Textfile) StreamWriter w = new StreamWriter(@"C:\data.txt", true); w.WriteLine("BlaBlaBla"); w.Close(); //Ein Request erstellen an den ftp Server FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://192.168.0.11/++++/test.txt"); // request.Timeout = 60000; //Die Methode angeben um eine Datei hochzuladen request.Method = WebRequestMethods.Ftp.UploadFile; //Berechtigungsdetails setzen vom ftp Server durch Username und Passwort request.Credentials = new NetworkCredential("root", "admin"); try { //Versuch eine Verbindung zu erstellen und eine Antwort zu erhalten WebResponse response = request.GetResponse(); MessageBox.Show("Response hat funktioniert"); } catch (TimeoutException t) { Console.WriteLine("Caught TimeoutException: {0}", t.Message); } catch (Exception exp) { MessageBox.Show(exp.ToString()); } //Neuer FileStream erstellen für die Datei FileStream fs = new FileStream(@"C:\data.txt", FileMode.Open); byte[] fileContents = new byte[fs.Length]; fs.Read(fileContents, 0, Convert.ToInt32(fs.Length)); fs.Flush(); fs.Close(); //Ein neuen Stream für den Request erstellen dem der FileStream mitgegeben wird. Stream requestStream = request.GetRequestStream(); requestStream.Write(fileContents, 0, fileContents.Length); requestStream.Close(); //Verbindung abbschliessen request.Abort(); }
-
Ich kann dir nicht ganz folgen, was du möchtest. Was meinst du mit falscher IP-Adresse? Suchst du einfach nur eine Möglichkeit, um zu prüfen, ob jemand eine gültige IP-Adresse angegeben hat? Suchst du
IPAddress.TryParse
?
-
bei falscher IP eingaben, komm Fehlermeldung: "Unbehandelte Ausnahme in der Anwendung" und dahe würde gern was einbinden was dies verhindert!?
Also vorher schon Überprüft ob IP stimmt ggf. Anweisung da Falsche IP eingegeben worden ist oder sich dann verbindet..
-
hab das mir IPAddress.TryParse versucht..
aber verglecht nut die richtigkeit der Form der IP aber nicht ob Sie wirklich im netzwerk vorhanden ist.
-
request.Timeout = 30000; catch (TimeoutException t) { Console.WriteLine("Caught TimeoutException: {0}", t.Message); }
solte mich wegen timeout exp. herausschmeise bei einer nicht aktiven IP, tut es aber nicht?
-
georg3 schrieb:
solte mich wegen timeout exp. herausschmeise bei einer nicht aktiven IP, tut es aber nicht?
Dann wird offensichtlich keine TimeoutException geworfen, sondern eine andere. Mit dem Debugger kannst du herausfinden, welche.
-
eine möglichkeit!
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Net.NetworkInformation; namespace Ping_IP { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { bool pinging = false; Ping isPing = new Ping(); try { PingReply reply = isPing.Send(textBox1.Text); pinging = reply.Status == IPStatus.Success; } catch (PingException) { } MessageBox.Show("" + pinging, "title"); } private void textBox1_Validated(object sender, EventArgs e) { } } }