ответ
Как @HansPassant сказал, Dispose()
- это путь.
using
блок будет автоматически расположить клиента:
using (client)
{
//...
}
Или, вы можете добавить метод в класс:
public void Close()
{
client?.Dispose();
}
Даже лучшим решением было бы сделать свой класс, который потребляет TcpClient
реализовать IDisposable
также.
Возможно, вне темы, но что делает знак вопроса в этом примере? – Joshua
@ Joshua Это [нулевое распространение] (http://stackoverflow.com/documentation/c%23/24/c-sharp-6-0-features/51/null-propagation#t=201705121527113638092) с C# 6. Это то же самое, что и 'if (client! = null) ...'. –
- 1. Закрыть BufferedStream без отключения TcpClient?
- 2. Закрыть TcpClient и его базовый NetworkStream
- 3. Как инициализировать и закрыть TCPClient в разных действиях MVC.NET C#
- 4. Как закрыть TcpClient, открытый в потоке должным образом
- 5. TcpClient: Как закрыть и снова подключить его снова?
- 6. TcpClient Connection
- 7. Получение сообщений как TcpClient
- 8. Задача отправки/закрытия TcpClient
- 9. TcpClient преждевременно удален
- 10. Как скомпилировать TCPClient, реализуя интерфейс
- 11. Как полностью отключить TCPClient? (Инди)
- 12. TCPClient. Как получить большие сообщения?
- 13. Ограничение количества и времени соединений TcpListener. Как правильно закрыть \ остановить TcpListener и TcpClient?
- 14. Как отключить TcpClient для разрешения новых подключений?
- 15. Инди 9 TCPClient кодирование
- 16. C# TcpClient Timeout
- 17. TcpClient/TcpListener filename
- 18. TcpClient SocketException. NET
- 19. TcpClient BeginConnect timeout
- 20. TcpClient ConnectAsync получить статус
- 21. TCPClient в C# (Error)
- 22. TcpClient конструктор Проблемы C#
- 23. Защита C# TcpClient Operation
- 24. C# TcpClient набор IP
- 25. TcpClient vs MSMQ
- 26. Данные получены неверно TcpClient
- 27. Управление подключением TcpClient
- 28. Python TCPclient не признает
- 29. TcpClient - ожидает получения данных
- 30. Swift: Необъявленная тип TCPClient
Используйте Dispose() вместо этого. –
Спасибо, @Hans Passant. Dispose() существует и, возможно, единственный способ закрыть, но почему-то это не очень хорошо. Ядро API .net действительно сильно изменяет уровень метода/члена, переход из .NET Framework может быть непростой задачей. –
Маленькая точка в том, чтобы погладить меня об этом, подать жалобы [здесь] (https://github.com/dotnet/corefx/issues). Нажмите кнопку «Новая проблема». –