Wie kann eine TcpClient-Verbindung korrekt geschlossen oder zurückgesetzt werden? Wir haben Software, die mit Hardware kommuniziert, aber manchmal geht etwas schief und wir müssen nicht mehr mit ihr kommunizieren, bis wir die Software neu starten.
Ich habe versucht, TcpClient.Close () zu erzwingen und es sogar auf null zu setzen, aber das funktioniert nicht. Es funktioniert nur ein vollständiger Neustart der Software.
Vorschläge?
Ich kann das Schlüsselwort using nicht verwenden, da TpcClient nur an einem Ort definiert ist, aber in der gesamten Bibliothek verwendet wird. (Und es gibt immer nur eine Verbindung)
Es ist eine Bibliothek, die die Kommunikation übernimmt. Die Software selbst kann die ResetConnection () -Methode der Controller-Klasse (die die Hardware darstellt) aufrufen.
Es sieht derzeit so aus
if (tcpClient != null)
{
tcpClient.Close();
tcpClient = null;
}
Nach dem, was ich hier gelesen habe, sollte ich tcpClient.Dispose () anstelle von "= null" verwenden.
Ich werde es versuchen und sehen, ob es einen Unterschied macht.