Me preguntaba si alguien sabía la mejor manera de deshacerse de una clase que utiliza un objeto Socket y un objeto NetworkStream. La clase en cuestión tiene una instancia de NetworkStream y una instancia de Socket que se utiliza para crear el NetworkStream.C# - Para cerrar un NetworkStream, la secuencia de llamada.Cerrar o socket.Shutdown?
this.socket = new Socket(
AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp)
{
ReceiveBufferSize = 65536,
SendBufferSize = 150
};
this.socket.Connect(
new IPEndPoint(
IPAddress.Parse(
Properties.Settings.Default.MpsServer2),
Properties.Settings.Default.MpsPort2));
this.stream = new NetworkStream(
this.socket, true);
En mi método Dispose, ¿debería hacer esto?
this.stream.Close();
this.socket.Shutdown(SocketShutdown.Both);
this.socket.Close();
¿Es todo esto necesario o es excesivo?
Voy a marcar esto como la respuesta correcta solo porque tiene más documentación para ello. Me pregunto si el método Dispose de la secuencia podría hacer el trabajo, pero no parece haber mucha información sobre exactamente lo que hará. –