Как правильно закрыть или сбросить соединение TcpClient?
У нас есть программное обеспечение, которое взаимодействует с оборудованием, но иногда что-то
идет не так, и мы больше не можем общаться с ним, пока мы не перезапустим программное обеспечение.
Я попытался принудительно вызвать TcpClient.Close () и даже установить его на ноль, но это не работает.
Работает только полный перезапуск программного обеспечения.
Предложения
Я не могу использовать ключевое слово using, поскольку TpcClient определен только в одном месте, но используется во всей библиотеке. (И есть только одно соединение в любой момент времени)
Это библиотека, которая обрабатывает связь. Само программное обеспечение может вызывать метод ResetConnection () класса Controller (который представляет оборудование).
В настоящее время выглядит как
if (tcpClient != null)
{
tcpClient.Close();
tcpClient = null;
}
Теперь из того, что я прочитал здесь, я должен использовать tcpClient.Dispose () вместо "= null"
Я попробую и посмотрю, имеет ли это значение.