Estoy intentando volver a conectarme a un socket del que me he desconectado, pero no lo permitirá por algún motivo, aunque llamé al método Disconnect con el argumento "reuseSocket" establecido en verdadero.¿Cómo reutilizar el socket en .NET?
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_socket.Connect(ipAddress, port);
//...receive data
_socket.Disconnect(true); //reuseSocket = true
//...wait
_socket.Connect(ipAddress, port); //throws an InvalidOperationException:
Una vez que el conector se haya desconectado, sólo se puede volver a conectar de nuevo de forma asíncrona, y sólo a un diferente de punto final. Se debe llamar a BeginConnect en un hilo que no saldrá de hasta que se complete la operación .
¿Qué estoy haciendo mal?
Probablemente, no debe volver a utilizar el zócalo y simplemente cree uno nuevo. Nunca llame a 'Disconnect', envuélvalo en' using' en su lugar. Además, llame a 'Shutdown'. – usr