/// <summary> /// 及时器启动发送心跳的方法 /// </summary> /// <param name="source"></param> /// <param name="e"></param> private void sendHeartHit(object source, System.Timers.ElapsedEventArgs e) { try { if (marketTcpClient != null) { NetInfo info = new NetInfo(); info.code = CommandCode.HEARTBIT; marketTcpClient.sendData(info.MyToString()); } if (marketTcpClient.client.State == HPSocketCS.ServiceState.Stoped) { marketTcpClient.ReConnect(); } if (e.SignalTime.Minute == 0) { /// AskMarket(); marketErrorLoger.close(); marketErrorLoger = new WriteLog("./log/marketError.log", LogLevel.ALL); } } catch { } finally { HeartTimer.Start(); } }
/// <summary> /// 执行重连线程 /// </summary> public void ExecuteReconnectThread() { while (isSave) { try { MarketTcpIp marketTcpIp = marketTcpIpBlockingCollection.Take(); // if (!marketTcpIp.client.isConnected){ if (!marketTcpIp.isOnReconnecting) { Thread.Sleep(1000); PrintToTxt("正在重连..."); marketTcpIp.ReConnect(); } } catch (Exception ex) { marketErrorLoger.log(LogLevel.SYSTEMERROR, ex.ToString()); } } }