Я предлагаю удалить или закрыть поток после того, как вы закончите. Это позволяет системе немедленно освободить сетевые ресурсы, как только вы закончите с вашим сокетом.
Если вы используете сокет из одной функции, оператор using
работает хорошо, поскольку он неявно удаляет ваш объект. В противном случае (например, при сохранении сокета активным, сохраняя ссылку на него в объекте), вы захотите вызвать Close()
или Dispose()
, когда закончите. В противном случае розетка может оставаться открытой бесконечно долго. Dispose()
может быть немного лучшим выбором, поскольку он освобождает больше ресурсов, чем Close()
.
MSDN может пропустить Close
, потому что сокет будет автоматически закрыт по окончании процесса, когда оставшиеся ресурсы будут собираться мусором.