2017-07-06 4 views
-1

Ich bin neu in C# und jetzt versuche ich lernen TcpClient, TcpListener und NetworkStream. Auf Youtube und anderen C# -Tutorials kann ich grundlegende Tcp-Verbindung zwischen Client und Server finden. Ich habe versucht, etwas wieWenn Tcpclient nicht verbinden kann

if (Client.connect(ServerIP, ServerPORT)) 
{ 
    MessagaToTxtbox("Connected"); 
} 
else 
{ 
    MessageToTxtbox("Can't connect. Reason can be :\r\n1.Server is down.\r\n2.You lost internet connection"); 
} 

Ich dachte, das wird funktionieren basierend auf meinem PHP-Wissen, aber scheint, ich war falsch! : D

So ist meine Frage: Wie überprüfen, ob tcpclient.connect(ServerIP, ServerPORT) Erfolg ist. Wie ich weiß, TcpClient.Connected ist der Weg, um zu überprüfen, ob die Verbindung immer noch eingeschaltet ist, möchte ich überprüfen, ob der Client Verbindung hergestellt wird, wenn nicht, kann ich Nachricht hinterlassen oder andere Funktionen ausführen. :)

+2

Was zumindest die Definition der Funktion auf der Dokumentation zu lesen, wo es beschrieben ist, wie es funktioniert? https://msdn.microsoft.com/en-us/library/fkbhht5w(v=vs.110).aspx (mit anderen Worten, RTFM). – Gusman

Antwort

0

Verwenden Sie Ausnahmebehandlungsmechanismus und wickeln Sie es in einen try .. catch Block wie unten ein. Also, wenn überhaupt Verbindungsaufbau aus irgendeinem Grund fehlschlägt, fangen Sie es und die richtige Nachricht an UI zeigen und es anmelden, wenn

benötigt
try 
{ 
    Client.connect(ServerIP, ServerPORT)); 
    MessagaToTxtbox("Connected"); 
} 
catch(Exception ex) 
{ 
MessageToTxtbox("Can't connect. Reason can be :\r\n1.Server is down.\r\n2.You lost internet connection"); 
} 
+0

Schande über mich! Warum ich nicht darüber nachgedacht habe! :) Vielen Dank. :) +1 –

+0

@AleksZiemelis, in Betracht ziehen, die Antwort dann zu akzeptieren, indem Sie auf die Schaltfläche "check" klicken – Rahul