나는 the documentation on TcpClient.Close()을 읽고이 발견 해요 : 결국 관련 소켓의 마지막 발생합니다이 메소드를 호출NetworkStream과 TcpClient 또는 TcpClient를 모두 닫아야합니까?
을하며 보내고 하나가 생성 된 경우 데이터를 수신하는 데 사용되는 연관는 NetworkStream을 닫습니다. 내가 틀렸다면
그래서, 저를 해결하지만이 하나가 TcpClient
에 Close()
를 호출하는 경우 NetworkStream
도 폐쇄됩니다 말한다.
그렇다면 코드 예제의 끝에 Close()
이 모두 호출되는 이유는 무엇입니까?
networkStream.Close();
tcpClient.Close();
tcpClient.Close();
으로 전화를 걸어도됩니까?
예, 필요하지 않습니다. 이 예제에서 tcpClient.Close()를 사용하는 것은 필요하지 않습니다. 바로 다음에 프로그램이 종료됩니다. –
.NET 3.0 이전에는 TcpClient와 기본 NetworkStream을 모두 명시 적으로 닫아야했습니다. .NET 3.0부터는 TcpClient를 닫을 때 기본 NetworkStream이 닫힙니다. TcpClient의 Close() 및 Dispose()는 일부 내부 로깅을 추가하는 Close()와 동등합니다. –