Ich versuche, die Telnet-Fähigkeit zu einer benutzerdefinierten IP-Adresse und einem Port in ein Programm hinzuzufügen, an dem ich gerade arbeite. Ich habe das grundlegende Code-Snippet von einer früheren Frage auf der Site bekommen. Das Problem, das ich habe, ist, dass ich kein Textfeld in die Argumente für die tcpClient.Connect-Methode übergeben kann. Wenn ich die IP-Adresse im Feld Parameter hart Code den Code funktioniert, aber wenn ich versuche, eine String-Variable übergeben dann funktioniert die TCPClient.Connect nicht und es zeigt die catch (Ausnahme) MessageBox, dass der Verbindungsversuch fehlgeschlagen.String-Variable an tcpClient.Connect übergeben
Ich schaute auf die MSDN für die tcpClient.Connect-Methode und es gibt an, es benötigt (Zeichenfolge IPaddress, Int32) als Argumente, so dass ich nicht sehen, warum die Übergabe der Zeichenfolge aus einem Textfeld fehlschlägt. Hier
ist das Code-Snippet für diesen Abschnitt des Programms:
int i = Convert.ToInt32(Port.Text);
String strIP = IP.Text;
using (TcpClient tcpClient = new TcpClient())
{
try
{
tcpClient.Connect(strIP, i);
MessageBox.Show("port Open", "Port Status", MessageBoxButtons.OK);
}
catch (Exception)
{
MessageBox.Show("Port Closed", "Port Status", MessageBoxButtons.OK);
//Console.WriteLine("Port closed");
}
}
_ "es scheitert unvermeidlich" _ ist in keiner Weise eine nützliche Problemaussage. Bitte korrigieren Sie Ihren Beitrag so, dass er ein gutes [mcve] enthält, das das Problem zuverlässig reproduziert (Hinweis: Wenn ein String-Wert an eine Methode übergeben wird und die Zeichenfolge von der Benutzeroberfläche zurückkommt, dann hat ein guter [mcve] gewonnen brauche nicht nur die UI, sondern nur die Zeichenkette und eine detaillierte Erklärung, was der Code tut, einschließlich des _exact-Textes_ einer Fehlermeldung und des vollständigen Stack-Trace aller Exceptions und was der Code stattdessen tun soll. –
Was ist 'IP.Text' und sind Sie sicher, dass es einen Wert hat, bevor Sie es als Argument zur Verbindungsmethode senden? – CodingYoshi
Möglicherweise lesen Sie aus der falschen Textbox. Schreiben Sie die IP mit Console.Writeline auf den Inhalt. – jdweng