From d97e8a8826dc2bc2efdae7a332b6e9e10814e040 Mon Sep 17 00:00:00 2001 From: PierreAronnax Date: Tue, 25 Oct 2011 17:28:32 +0200 Subject: [PATCH] SparkleListenerTCP: Fixing Reconnect Calling socket.Connect again after socket.Close causes an ObjectDisposedException. Recreating the socket before connecting fixes this. --- SparkleLib/SparkleListenerTcp.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/SparkleLib/SparkleListenerTcp.cs b/SparkleLib/SparkleListenerTcp.cs index 15274b9b..c844bf02 100755 --- a/SparkleLib/SparkleListenerTcp.cs +++ b/SparkleLib/SparkleListenerTcp.cs @@ -39,7 +39,6 @@ namespace SparkleLib { base (server, folder_identifier) { base.channels.Add (folder_identifier); - this.socket = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); this.connected = false; } @@ -70,9 +69,11 @@ namespace SparkleLib { // Connect and subscribe to the channel int port = Server.Port; if (port < 0) port = 9999; - this.socket.Connect (Server.Host, port); lock (this.mutex) { + this.socket = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + this.socket.Connect (Server.Host, port); + base.is_connecting = false; this.connected = true;