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