/// <summary> /// /// </summary> /// <param name="serverEndPoint"></param> public ConfigFileClient(EndPoint serverEndPoint) { this.serverEndPoint = serverEndPoint; this.requestHandler = new ClientRequestHadler(this.serverEndPoint, new Protocol()); this.requestHandler.OnMessageReceived += this.RequestHandler_OnMessageReceived; this.timer = new System.Threading.Timer(Reconnect, this, TimeSpan.FromMilliseconds(-1), TimeSpan.FromMilliseconds(-1)); }
/// <summary> /// 重连接 /// </summary> /// <param name="state"></param> private void Reconnect(object state) { this.locker.EnterLock(true, () => { try { if (this.requestHandler.Socket == null || this.requestHandler.Socket.Connection == null || this.requestHandler.Socket.Connection.IsConnected == false) { this.requestHandler.Dispose(); this.requestHandler.OnMessageReceived -= this.RequestHandler_OnMessageReceived; this.requestHandler = new ClientRequestHadler(this.serverEndPoint, this.requestHandler.Protocol); this.requestHandler.OnMessageReceived += this.RequestHandler_OnMessageReceived; this.requestHandler.KeepAlive(this.keepAlive); this.requestHandler.Startup(); } } catch { } try { var test = this.Test(); test.ContinueWith(ta => { if (ta.Exception != null) { this.requestHandler.Dispose(); this.requestHandler.OnMessageReceived -= this.RequestHandler_OnMessageReceived; this.requestHandler = new ClientRequestHadler(this.serverEndPoint, this.requestHandler.Protocol); this.requestHandler.OnMessageReceived += this.RequestHandler_OnMessageReceived; this.requestHandler.KeepAlive(this.keepAlive); this.requestHandler.Startup(); } }); } catch { } }); }
/// <summary> /// /// </summary> /// <param name="serverEndPoint"></param> public ConfigFileClient(EndPoint serverEndPoint) { this.requestHandler = new ClientRequestHadler(serverEndPoint, new Protocol()); this.requestHandler.OnMessageReceived += this.RequestHandler_OnMessageReceived; }