/// <summary> /// 定时发送心跳包,检测服务器连接状态 /// </summary> internal void TestAndReconnectServer() { Guid curGuid = appCenter.CurrentGuid; while (true) { Thread.Sleep(5000); if (curGuid != appCenter.CurrentGuid) { break; } if (tcpCenter.P2PServerTcp != null) { try { byte[] dataAr = new Send_0x0052().PackData(); tcpCenter.P2PServerTcp.GetStream().WriteAsync(dataAr, 0, dataAr.Length); } catch (Exception ex) { LogUtils.Warning($"服务器连接已被断开"); tcpCenter.P2PServerTcp = null; } } else { ConnectServer(); } } }
public void TestAndReconnectServer() { while (true) { Thread.Sleep(5000); try { if (Global.P2PServerTcp != null && Global.P2PServerTcp.Connected) { Send_0x0052 sendPacket = new Send_0x0052(); int count = Global.P2PServerTcp.Client.Send(sendPacket.PackData()); } else { ConnectServer(); } } catch (Exception ex) { LogUtils.Warning($"【断线重连】错误消息:{Environment.NewLine}{ex.ToString()}"); try { Global.P2PServerTcp.Close(); } catch { } Global.P2PServerTcp = null; ConnectServer(); } } }