Почему TcpListener не реализует IDisposable
Чтобы лучше понять, как работает сетевая часть.NET, я рассмотрю справочный источник класса TcpListener ( Documentation, Reference Source). Что привлекло мое внимание, так это то, что он владеет объектом, реализующим IDisposable (Socket), но не реализует сам IDisposable. Для этого есть причина?
1 ответ
Потому что когда вы используете IPEndPoint
основанный конструктор, TcpListener
не владеет сокетом. Было бы очень грубо избавиться от указанного сокета, если вы планируете повторно использовать указанный IPEndPoint
объект